【问题标题】:Flutter error: Execution failed for task ':app:compileDebugJavaWithJavac'颤振错误:任务':app:compileDebugJavaWithJavac'的执行失败
【发布时间】:2020-03-29 07:44:43
【问题描述】:

我尝试在 android 上运行并返回此错误。

我已经试过了:

gradle.properties:

android.useAndroidX=true android.enableJetifier=true

build.gradle:

testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" multiDexEnabled 是的

我的 pubspec.yaml:

flutter_facebook_login: ^3.0.0 firebase_database: ^3.1.0 firebase_auth: ^0.15.0+1 cloud_firestore: ^0.12.11 url_launcher:^5.2.7 google_maps_flutter:^0.5.21+12 图像选择器:^0.6.2+1 firebase_storage:^3.0.8 国际:^0.16.0

  • 出了什么问题:任务 ':app:compileDebugJavaWithJavac' 执行失败。

    编译失败;有关详细信息,请参阅编译器错误输出。

  • 尝试:使用 --stacktrace 选项运行以获取堆栈跟踪。使用 --info 或 --debug 选项运行以获得更多日志输出。运行 --scan 以获得完整的见解。

  • 通过https://help.gradle.org获得更多帮助

BUILD FAILED in 35s 构建失败可能是由于 AndroidX 插件不兼容。该工具即将尝试使用 Jetfier 解决不兼容问题。构建插件 cloud_firestore... 由于上述问题,插件 cloud_firestore 无法构建。


解决方案:

创建新项目时,是否选择了“androidX”?这些版本是最新版本吗? (意思是,androidX 兼容/需要)。如果不确定,请创建一个新项目并确保选择 androidX,并将 sdk 设置更改为 23/29,如上。

【问题讨论】:

    标签: flutter


    【解决方案1】:

    编辑:解决方案是在选择 AndroidX 的情况下创建一个新项目,并将正确的 SDK 版本添加到 gradle 文件中。可能使用正确的依赖版本。

    要迁移到 AndroidX,您需要将 SDK 版本设置为 21 或更高版本。我推荐 23,因为这也消除了一些其他问题。

    compileSdkVersion 29
    
    lintOptions {
        disable 'InvalidPackage'
    }
    
    defaultConfig {
        // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
        applicationId "com.example"
        minSdkVersion 23
        targetSdkVersion 29
        versionCode flutterVersionCode.toInteger()
        versionName flutterVersionName
        // testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }
    

    【讨论】:

    • 好的,这是一个常见问题,但如果不是这样,那么我认为我们需要更多信息。您能否尝试创建一个新的干净项目并一次添加一个库,直到它可能中断?
    • 好的,我添加了 facebook_login: 3.0.0 并运行正常,所以我添加了 firebase_database: ^3.1.0 并抛出此错误:BUILD FAILED in 9s The built failed likely due to AndroidX incompatibility in a plugin .该工具即将尝试使用Jetfier解决不兼容问题。 ✏️ 创建android/settings_aar.gradle... ✓ android/settings_aar.gradle 创建成功。正在构建插件 firebase_core... 正在运行 Gradle 任务 'assembleAarRelease'... 完成但出现错误:由于上述问题,无法构建插件 firebase_core。
    • 新建项目时,是否选择了“androidX”?这些版本是最新版本吗? (意思是,androidX 兼容/需要)。如果不确定,请创建一个新项目并确保选择 androidX,并将 sdk 设置更改为 23/29,如上。
    • 乐于助人:)
    【解决方案2】:

    我最近在使用 Flutter 2.2.2 时遇到了这个错误,以上解决方案都不适合我。

    首先尝试基本命令,例如:

    cd android && ./gradlew clean 
    flutter clean
    

    如果它不起作用:

    android/gradle/wrapper/gradle-wrapper.properties中设置distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-all.zip

    如果你的 gradle 版本是 issue)

    尝试基本命令并重新构建!

    【讨论】:

    • 将 Gradle 版本升级到 gradle-6.7.1-all.zip 为我解决了这个问题。谢谢。
    【解决方案3】:

    解决方案

    1. 扑干净
    2. 删除android/.gradle并运行
    3. 恢复 pubspec.lock 和颤振 pub get 扑跑

    【讨论】:

      【解决方案4】:

      以上答案都没有帮助我。我使用 IntelliJ Idea 作为 IDE 而不是 Android Studio(因为我在其他语言中开发其他模块,而不仅仅是 Flutter 应用程序)。我能够从命令行运行./gradlew :app:compileDebugJavaWithJavac,但flutter run 失败。很长一段时间后,我意识到 Flutter 使用 Android Studio 让它构建 android 应用程序。因此,如果您使用 IntelliJ Idea,请务必检查您在 Idea(我使用 Java 11)中使用的 Java,以及您在 Android Studio 中使用的 Java! (我的 AS 使用 Java 8)。改成Java 11后问题解决了。

      【讨论】:

        【解决方案5】:

        将 compileSdkVersion 值更改为 flutter.compileSdkVersion 也改变 minSdkVersion,targetSdkVersion 值如下所示

        android {
            compileSdkVersion flutter.compileSdkVersion
        
            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.octs"
                minSdkVersion flutter.minSdkVersion
                targetSdkVersion flutter.targetSdkVersion
                versionCode flutterVersionCode.toInteger()
                versionName flutterVersionName
            }
        

        这对我有用。

        【讨论】:

          猜你喜欢
          • 2020-05-30
          • 2021-08-30
          • 1970-01-01
          • 2022-09-23
          • 2016-05-01
          • 1970-01-01
          • 1970-01-01
          • 2017-09-13
          • 2021-09-03
          相关资源
          最近更新 更多