如何在 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。从那以后,我只在列表中添加了一些数据。
我已经尝试在与上次相同的条件下进行编译:
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:
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
我在尝试 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。从那以后,我只在列表中添加了一些数据。
我已经尝试在与上次相同的条件下进行编译:
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:
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