android:enableJetifier=true 再学习

当我们遇到类似这种问题

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 版本。
相关推荐
王正南2 小时前
安卓逆向之LSposed开发(一)
android·xposed·lsposed
YIN_尹3 小时前
【MySQL】数据类型(上)
android·mysql·adb
奋斗的小青年!!3 小时前
OpenHarmony Flutter 拖拽排序组件性能优化与跨平台适配指南
flutter·harmonyos·鸿蒙
小雨下雨的雨4 小时前
Flutter 框架跨平台鸿蒙开发 —— Stack 控件之三维层叠艺术
flutter·华为·harmonyos
robotx5 小时前
AOSP设备节点权限添加相关
android
顾林海5 小时前
Android文件系统安全与权限控制:给应用数据上把“安全锁”
android·面试·操作系统
青莲8435 小时前
Android 动画机制完整详解
android·前端·面试
城东米粉儿5 小时前
android 离屏预渲染 笔记
android
未知名Android用户5 小时前
Android自定义 View + Canvas—声纹小球动画
android
行者965 小时前
OpenHarmony平台Flutter手风琴菜单组件的跨平台适配实践
flutter·harmonyos·鸿蒙