【Flutter 专题】43 图解 Flutter 适配 AndroidX

2019-08-12 16:31:02 浏览数 (1)

和尚在尝试一些三方库时,会提示与 androidx 不兼容,和尚整理一下尝试步骤;

首先需要了解一下 Android 的基本情况,目前已经由 V7 发展到 androidx,主要避免包越来越臃肿的问题,而 Android 的新特性也会在 androidx 中进行优化增加;与之而来的挑战是适配问题,support 包与 androidx 不兼容,二者存一,在项目中需要好好斟酌;

和尚未适配 androidx 时引入三方库时会提示如下问题;此时用谷歌亲儿子工具 AndroidStudio 可以方便很多;

适配步骤

1. 更新至最新的 distributionUrl

文件路径:android/gradle/wrapper/gradle-wrapper.properties

2. 更新 build.gradle 中 classpath 与 Kotlin 版本

文件路径:classpath,此时注意 Kotlin 版本升至 1.3.0 及以上;

3. 添加 androidx 配置

文件路径:android/gradle.properties

android.useAndroidX=true 代表使用 androidx 库而非 support 库;

android.enableJetifier=true 代表三方包迁移至 androidx

4. 更新 Module 中 build.gradle SDK 版本

文件路径:android/app/build.gradle,此时注意除了当前 SDK 版本升级之后,androidTestImplementation 也许随着升级;

注意事项

1. 建议手动逐步操作而非 Migrate to AndroidX

和尚在测试时尝试用 AndroidStudio 自带的 Migrate to AndroidX 方式无效,后手动逐步操作,可能是和尚操作有误或其他,可以尝试一下;

选择本工程 -> Refactor -> Migrate to Androidx

2. 兼容其他三方库

和尚在使用三方库时部分库未进行 androidx 适配,包括和尚自己发布的 pub 库,不兼容需适配升级;对于此类情况,我们可以选择不升级至 androidx 用较低版本的 pub 库,或尝试升级不兼容的三方库,需根据实际情况衡量;

3. Kotlin 1.3.0

和尚在升级 Kotlin 版本时提示 jre7:1.3.0 版本找不到;

文件路径:android/app/build.gradle,此时需要将 dependenciesjre7 替换为 jdk8 即可;


以上是和尚在升级适配过程中遇到的小问题,内容浅显,有错误的地方请多多指导!

0 人点赞