繁体   English   中英

如何在 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

但是我可以让我的代码直接在手机或模拟器上运行……我已经用那个项目创建了 APK 文件(并将它发送到商店)。 最后一个 APK 是在 2019 年 7 月 17 日创建的。 从那以后,我只在列表中添加了一些数据。

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

  • flutter clean等;
  • 使缓存失效;
  • 降级 Flutter 版本;
  • 降级 Kotlin 版本;
  • 降级 Gradle 版本;
  • 降级 Gradle-wrapper 的分发 URL。

这是我的依赖项:

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:

摇篮文件:

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:
  • 复制新项目中的所有文件

在传输到我的新计算机期间,某些文件似乎已损坏或丢失

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

按照指南: 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 y 发现每个人都通过升级库来解决这个问题。 我发现 google_sign_in 有很多最新版本,所以尝试将 google_sign_in 升级到 4.0.6

使用以下内容更新您的 gradle.properties 文件:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM