哥哥带你排雷Flutter之AndroidX兼容性
2019-05-22 本文已影响14人
哥哥是欧巴Vitory
Android代码通常使用Android.support库来确保向后兼容性。目前support库已经停止维护,并替换为AndroidX,AndroidX具有与旧库想通过的功能和一些附加功能,但这两套库是不兼容的,所以会报错。尝试构建依赖于两组库的apk时,gradle会崩溃。
在flutter应用中修复AndroidX崩溃:
Androidx可以通过两种方式在编译时打破flutter应用程序:
1,在应用程序使用AndroidX插件,其主build.gradle文件的compileSdkVersion版本低于28。
2,同时使用已经弃用的support和AndroidX代码。
Gradle错误信息各不相同,有时直接提到:package androidx 或 package android.support ,但是gradle 错误信息通常是不明显,而是谈论aapt,aapt2 或者'解析资源'失败。
必须通过手动将代码迁移到同一个库或降级到仍使用原始支持库的插件版来解决问题。
如何将flutter应用程序迁移到androidx:
如果应用程序主动依赖旧支持库的任何插件,则无法将应用程序完全迁移到androidx,如果应用依赖于android.support软件包的插件,则需要避免使用androidx。
首先要确保compileSdkVersion 至少28在app/build.gradle 。此属性控制gradle用于构建apk的android SDK版本。它不影响您的应用可以运行的最低SDK版本。