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

相关推荐
雨白4 小时前
Java 线程通信基础:interrupt、wait 和 notifyAll 详解
android·java
诺诺Okami8 小时前
Android Framework-Launcher-UI和组件
android
潘潘潘9 小时前
Android线程间通信机制Handler介绍
android
潘潘潘9 小时前
Android动态链接库So的加载
android
潘潘潘10 小时前
Android多线程机制简介
android
CYRUS_STUDIO11 小时前
利用 Linux 信号机制(SIGTRAP)实现 Android 下的反调试
android·安全·逆向
CYRUS_STUDIO12 小时前
Android 反调试攻防实战:多重检测手段解析与内核级绕过方案
android·操作系统·逆向
黄林晴15 小时前
如何判断手机是否是纯血鸿蒙系统
android
火柴就是我16 小时前
flutter 之真手势冲突处理
android·flutter
法的空间16 小时前
Flutter JsonToDart 支持 JsonSchema
android·flutter·ios