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

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

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

适配步骤

1. 更新至最新的 distributionUrl

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

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

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

3. 添加 androidx 配置

文件路径:android/gradle.properties

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

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

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

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

注意事项

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

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

选择本工程 -> Refactor -> Migrate to Androidx 4306.jpeg

2. 兼容其他三方库

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

3. Kotlin 1.3.0

      小菜在升级 Kotlin 版本时提示 jre7:1.3.0 版本找不到; 4308.jpeg

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


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

来源:阿策小和尚