当我们遇到类似这种问题
js
connectivity_plus:debugRuntimeClasspath` contains AndroidX dependencies, but the `android.useAndroidX` property is not enabled, which may cause runtime issues.
Set `android.useAndroidX=true` in the `gradle.properties`
我们一般会直接添加如下的配置 但是一直没有深究这两个属性的意义
js
android.useAndroidX=true
android.enableJetifier=true
android.useAndroidX=true 这个属性执行项目开启AndroidX
android.enableJetifier=true 的作用
js
当启用该配置后,Gradle 会在构建过程中对所有第三方库(包括本地库和远程依赖)进行字节码转换:
把库中引用的 android.support.xxx 类自动替换为对应的 androidx.xxx 类。
把库的 build.gradle 中声明的旧版 Support 库依赖(如 com.android.support:support-v4)自动替换为 AndroidX 依赖(如 androidx.core:core)。
但是如果有如下情况还是需要手动去修改:
js
Jetifier 主要处理字节码和依赖声明,但某些特殊情况可能转换失败:
第三方库中通过反射动态引用 android.support 类(如 Class.forName("android.support.v4.app.Fragment"))。
资源文件(如 XML)中硬编码旧版类名(如自定义 View 的全类名)。
此时需要手动修改,或联系库作者升级到 AndroidX 版本。