当前位置: 首页 > 知识库问答 >
问题:

位置包“lambda表达式在-source 7中不受支持”中出现颤振运行错误如何启用-source 8

韶云瀚
2023-03-14

我正在导入location包,但由于它不是空安全的,我不得不更改为最新的4.2.0。所有依赖项都是空安全的,但location包在android(模拟器和实际设备)上运行时会产生问题。如下面的错误消息所示,“-source 7”不支持lambda表达式,但我不知道如何在-source 8中tun它。我目前使用Visual Studio。

错误消息是关于location包中的lambda表达式

/home/user/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/location-4.2.0/android/src/main/java/com/lyokone/location/FlutterLocation.java:280: error: lambda expressions are not supported in -source 7
            mMessageListener = (message, timestamp) -> {                
                                                    ^                   
  (use -source 8 or higher to enable lambda expressions)                
1 error                                                                 
                                                                        
FAILURE: Build failed with an exception.                                
                                                                        
* What went wrong:                                                      
Execution failed for task ':location:compileDebugJavaWithJavac'.        
> Compilation failed; see the compiler error output for details.        
                                                                        
* Try:                                                                  
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

pubspec.yaml文件:

dependencies:
  flutter:
    sdk: flutter
provider: ^5.0.0
location: ^4.2.0

android/app/build的一部分。格拉德尔:

android {
    compileSdkVersion 30

    sourceSets {
        main.java.srcDirs += 'src/main/kotlin'
    }

    defaultConfig {
        // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
        applicationId "com.example.final7"
        minSdkVersion 21
        targetSdkVersion 30
        versionCode flutterVersionCode.toInteger()
        versionName flutterVersionName
    }

    buildTypes {
        release {
            // TODO: Add your own signing config for the release build.
            // Signing with the debug keys for now, so `flutter run --release` works.
            signingConfig signingConfigs.debug
        }
    }
}

flutter {
    source '../..'
}

dependencies {
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
}

android/build的一部分。格拉德尔:

buildscript {
    ext.kotlin_version = '1.3.50'
    repositories {
        google()
        jcenter()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:4.1.0'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}

allprojects {
    repositories {
        google()
        jcenter()
    }
}

rootProject.buildDir = '../build'
subprojects {
    project.buildDir = "${rootProject.buildDir}/${project.name}"
    project.evaluationDependsOn(':app')
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

共有1个答案

贺亦
2023-03-14

这并不是一个非常全面的解决方案,但对我来说,有效的方法是删除本地项目并再次从git中提取。

我还尝试将以下内容添加到我的构建中。按照这些说明进行分级。

android {
  //...
  compileOptions {
    sourceCompatibility 1.8
    targetCompatibility 1.8
  }
}

然而,这对我不起作用。

 类似资料:
  • 我已经使用android Studio创建了一个基本的android颤振应用程序。我记得运行过几次这个应用程序,但突然它不运行了。根据一些帮助,尝试将targetSdkVersion和compileSdkVersion从27更改为28,但没有成功。试图了解问题的根源,因为我对Android开发非常陌生。 我注意到的:只有当我在pubspec.yaml中添加地理定位器或位置包并导入它时,才会出现以下

  • 我正在尝试构建一个使用lambda表达式的Kafka Streams应用程序。 我的maven构建配置是mvn clean install 我在结尾处添加了org.apache.maven.plugins:maven-compiler-plugin dependency。 我能做些什么来解决这个问题?

  • 我正在尝试编译一个maven项目,即Java 8(JDK 1.8),当我运行以下命令时: 编译抛出以下错误 编译失败[ERROR] /C:/App.java:[16,35]lambda表达式在-source 1.5[ERROR]中不支持(使用-source 8或更高版本来启用lambda表达式) 怎么可能呢?在命令行mvn是用JAVA 8编译器设置的

  • 我在构建Cordova Android应用程序时收到了这个错误信息。 错误:(159,66)错误:source 1.7中不支持lambda表达式(使用source 8或更高版本启用lambda表达式) 在我的build.gradle(模块android)和build.gradle(模块CordovaLib)上设置了以下compileOptions,如下所示:

  • 我只是导入了包background\u位置,没有使用它。即使我犯了这个错误 尝试更改kotlin版本,更改了MinSDK版本,但没有更改。

  • 我试图使用ResultSet(UCanAccess支持)在GUI中填充我的组合框 每次尝试执行时,我都会遇到以下错误: 我不知道这是什么原因。我想这是ucanaccess的问题吧?链接到access数据库以供参考:http://www53.zippyshare.com/v/DMLjdpDw/file.html