结论:引入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。
原因
- 兼容性问题:AndroidX解决了原来Android Support库中的一些兼容性问题,使得不同版本的API可以更好地共存。例如,不同版本的库中API的变化可能导致项目无法正常运行,而AndroidX通过向下兼容解决了这些问题2。
- 项目设置:在Android Studio中,可以通过修改
gradle.properties
文件来启用AndroidX和Jetifier。添加以下两行可以启用AndroidX和Jetifier:android.useAndroidX=true
android.enableJetifier=true
- 这样可以将原有的Support库依赖自动转换为AndroidX库依赖3。
解决方法
- 启用AndroidX:如果希望使用AndroidX,可以在
gradle.properties
文件中添加上述两行代码。这样,Gradle会自动将原有的Support库依赖转换为AndroidX依赖3。 - 禁用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