如何在 Android Studio 中修复 Flutter 的 AndroidX 兼容性?

How to fix AndroidX compatibility for Flutter in Android Studio?

我在尝试 flutter build apk 时遇到此错误:

*******************************************************************************************
The Gradle failure may have been because of AndroidX incompatibilities in this Flutter app.
See https://flutter.dev/docs/development/packages-and-plugins/androidx-compatibility for more information on the problem and how to fix it.
*******************************************************************************************
Gradle task assembleRelease failed with exit code 1

但我可以直接在 phone 或模拟器上制作我的代码 运行... 我已经使用该项目创建了 APK 文件(并将其发送到商店)。最后一个 APK 创建于 2019/07/17。从那以后,我只在列表中添加了一些数据。

我已经尝试在与上次相同的条件下进行编译:

这是我的依赖项:

dependencies:
  flutter:
    sdk: flutter
  cloud_firestore: any
  firebase_auth: any
  google_sign_in: ^3.2.4
  flutter_datetime_picker: 1.0.7
  numberpicker: any
  flutter_svg: any
  dio: any
  path_provider: any
  firebase_messaging: any
  charts_flutter: any
  barcode_scan: 1.0.0
  unity_ads_flutter: any
  progress_indicators:

Gradle 个文件:

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

    dependencies {
        classpath 'com.android.tools.build:gradle:3.4.2'
        classpath 'com.google.gms:google-services:4.3.0'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}
dependencies {
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'androidx.test:runner:1.2.0'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
    implementation 'com.google.firebase:firebase-core:17.0.1'
    implementation 'com.google.firebase:firebase-auth:18.1.0'
    implementation 'com.google.firebase:firebase-messaging:19.0.1'
    implementation 'com.google.android.gms:play-services-auth:17.0.0'
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
}

[编辑] 我换了电脑。可能是问题原因?

[编辑 2] 已解决

步骤:

dependencies:
  flutter:
    sdk: flutter
  cloud_firestore: any
  firebase_auth: any
  google_sign_in: any
  flutter_datetime_picker: 1.0.7
  numberpicker: any
  flutter_svg: any
  dio: any
  path_provider: any
  firebase_messaging: any
  charts_flutter: any
  barcode_scan: 1.0.0
  unity_ads_flutter: any
  progress_indicators:

似乎有些文件在传输到我的新计算机的过程中损坏或丢失了

更新您的 gradle.properties 文件:

android.enableJetifier=true
android.useAndroidX=true
org.gradle.jvmargs=-Xmx1536M

我遇到了同样的问题,经过一周的搜索和混合我找到的一些答案后,这个终于奏效了

遵循以下指南:https://pub.dev/packages/barcode_scan 但是做这个修改:

将您的项目级 build.gradle 文件编辑为如下所示:

buildscript {
    ext.kotlin_version = '1.3.30'
    ...
    dependencies {
        ...
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}
...

编辑您的应用级 build.gradle 文件,使其看起来像这样:

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
...

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

如果您在编译应用程序时说了一些关于 androidx appcompat 1.0.0 和 1.0.2 之间的区别 转到您的插件 build.gradle 文件并更改依赖项

dependencies {
implementation 'androidx.appcompat:appcompat:1.0.0'
...
}

网上看了很多github发现大家都通过升级库解决了这个问题。我发现 google_sign_in 有很多最新版本,所以尝试将 google_sign_in 升级到 4.0.6