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

相关推荐
hunterandroid8 小时前
[Android 从零到一] Compose 动画实战:从 AnimatedVisibility 到复杂转场与手势联动
android
Knight_AL8 小时前
Lombok @Builder 踩坑:build() 前后对象类型不一样
android·java·开发语言
大黄说说9 小时前
Android 本地存储深度对比:SharedPreferences、MMKV、Room 数据库怎么选?
android·数据库
阿巴斯甜10 小时前
adb push .../AdapterService.apk 和 .../区别:
android
恋猫de小郭10 小时前
Flutter 的另外一种形态?社区 DartNative 要来了。
android·前端·flutter
我命由我1234510 小时前
Android Drawable - gradient
android·java·java-ee·kotlin·android studio·android-studio·android runtime
Kapaseker10 小时前
AI 时代,读源码还有用吗?从 Kotlin 集合排序说起
android·kotlin
️学习的小王12 小时前
二级MySQL PHP综合应用题完整考点+历年真题风格练习题
android·mysql·php
YB13751 天前
jetpack compose 副作用 SideEffect
android·kotlin
CHB1 天前
uni-app x 蒸汽模式 性能测试基准报告 Benchmark【Android版】
android·ios·uni-app