问题:The Gradle failure may have been because of AndroidX incompatibilities in this Flutter app.
今天将flutter版本升级到了1.2.1之后发现项目跑不起来了,报了上述AndroidX兼容性错误,但是我本身并没有往AndroidX迁移,查看文档发现了如下解决方案:
Android代码通常使用 android.support 库来确保向后兼容性。这些android.support 库已弃用,并替换为 AndroidX。AndroidX具有与旧库相同的功能和一些附加功能,但不幸的是,这两组库是不兼容的。
AndroidX可以通过两种方式在编译时打破Flutter应用程序:
- 该应用程序使用AndroidX插件,其主build.gradle文件的 compileSdkVersion版本低于28。
该应用程序同时使用已弃用和AndroidX代码。 - Gradle的错误消息各不相同。有时消息直接提到“package androidx”或“package android.support”。但是,Gradle错误消息通常不明显,而是谈论“AAPT”,“AAPT2”,或者提到“解析资源”失败。
如果应用程序主动使用依赖旧支持库的任何插件,则无法将应用程序完全迁移到AndroidX。如果您的应用依赖于使用旧android.support 软件包的插件,则需要避免使用AndroidX。
首先要确保compileSdkVersion至少28在 app/build.gradle。此属性控制Gradle用于构建APK的Android SDK版本。它不会影响您的应用可以运行的最低SDK版本.
避免使用AndroidX
这些是flutter/plugins AndroidX之前的所有软件包的最新可用版本:(截止flutterSDK1.2.1)
android_alarm_manager:0.2.3
android_intent:0.2.1
battery:0.3.0
camera:0.2.9 + 1
cloud_firestore:0.8.2 + 3
cloud_functions:0.0.5
connectivity:0.3.2
device_info:0.3.0
firebase_admob:0.7.0
firebase_analytics:1.1.0
firebase_auth:0.7.0
firebase_core:0.2.5 + 1
firebase_database:1.0.5
firebase_dynamic_links:0.1.1
firebase_messaging:2.1.0
firebase_ml_vision:0.2.1
firebase_performance:0.0.8 + 1
firebase_remote_config:0.0.6 + 1
firebase_storage:1.0.4
google_maps_flutter:0.1.0
google_sign_in:3.2.4
image_picker:0.4.12 + 1
local_auth:0.3.1
package_info:0.3.2 + 1
path_provider:0.4.1
quick_actions:0.2.2
sensors:0.3.5
share:0.5.3
shared_preferences:0.4.3
url_launcher:4.1.0 + 1
video_player:0.9.0
webview_flutter:0.2.0