android.enableJetifier=true的作用:V4包的类自动编程成了androidx包的类,实现androidx的向下兼容

结论:引入androidx包后,可以兼容旧版本v4包的插件,把之前的

复制代码
implementation 'com.yinglan.alphatabs:library:1.0.8'

引入的组件中使用v4包的类,里面V4包自动反编译成 androidx包的类

结论;

V4包的类自动编程成了androidx包的类‌,主要是因为从Android Studio 3.4版本开始,新建的项目默认使用AndroidX库,而不是原来的Android Support库。AndroidX是Android Support库的替代品,旨在解决一些兼容性问题,并提供更好的模块化和维护性‌1。

原因

  1. 兼容性问题‌:AndroidX解决了原来Android Support库中的一些兼容性问题,使得不同版本的API可以更好地共存。例如,不同版本的库中API的变化可能导致项目无法正常运行,而AndroidX通过向下兼容解决了这些问题‌2。

  2. 项目设置 ‌:在Android Studio中,可以通过修改gradle.properties文件来启用AndroidX和Jetifier。添加以下两行可以启用AndroidX和Jetifier:

    复制代码
    android.useAndroidX=true    android.enableJetifier=true 
  3. 这样可以将原有的Support库依赖自动转换为AndroidX库依赖‌3。

解决方法

  1. 启用AndroidX ‌:如果希望使用AndroidX,可以在gradle.properties文件中添加上述两行代码。这样,Gradle会自动将原有的Support库依赖转换为AndroidX依赖‌3。
  2. 禁用AndroidX ‌:如果不希望使用AndroidX,可以在gradle.properties文件中注释掉上述两行代码,并将所有的androidx包依赖改回android.support,然后重新构建项目‌2

1、在gradle.properties文件中注释掉android.enableJetifier=true

2、查看结果,实际上这个方法,用的v4包的viewpager

3、添加android.enableJetifier=true 这段代码

4、可以看到,引入的包已经是androidx中的viewpager

5、点击查看类,是经过编译生成的,点击Open source file查看原始文件

6、可以查看原始的文件,其实还是用的v4包的 viewpager

相关推荐
STCNXPARM12 小时前
Linux camera之V4L2子系统详解
android·linux·camera·v4l2架构
2501_9445255412 小时前
Flutter for OpenHarmony 个人理财管理App实战 - 账户详情页面
android·java·开发语言·前端·javascript·flutter
不急不躁12316 小时前
Android16 GTS GtsPermissionTestcases 测试,跳过权限检查
android
符哥200817 小时前
关于用Android Compose开发成不成熟的分析
android·android jetpack
蜗牛、Z18 小时前
Android 蓝牙/Wi-Fi通信协议之:蓝牙扫描ScanCallback详解
android
黄昏晓x18 小时前
Linux----进程控制
android·linux·运维
我是阿亮啊18 小时前
android中事件分发机制
android·事件分发·事件分发机制
心前阳光19 小时前
Unity 模拟父子关系
android·unity·游戏引擎
2501_9151063219 小时前
当 Perfdog 开始收费之后,我重新整理了一替代方案
android·ios·小程序·https·uni-app·iphone·webview
多多*19 小时前
2月3日面试题整理 字节跳动后端开发相关
android·java·开发语言·网络·jvm·adb·c#