我的代码库很复杂,因此在迁移到AndroidX之前要格外小心。我的支持库当前为27.1.1。我可以将其迁移到AndroidX 1.0.0吗?我已经看到人们从28.0.0迁移到1.0.0,但没有从27.1.1迁移。如果第三方依赖项使用支持库的旧版本怎么办?将android.enableJetifier
设置为true是否可以向后兼容v4,v7,v13或库版本(26、27.1、28)?我很困惑。
答案 0 :(得分:0)
如果您有任何尚未迁移到AndroidX名称空间的Maven依赖项,则在gradle.properties文件中将以下两个标志设置为true时,Android Studio构建系统也会为您迁移这些依赖项:
android.useAndroidX = true
android.enableJetifier = true
要迁移不使用具有需要转换的依赖关系的任何第三方库的现有项目,可以将android.useAndroidX标志设置为true,并将android.enableJetifier标志设置为false。
答案 1 :(得分:0)
支持库28.0.0和Androidx 1.0.0是built from the same source code,因此,如果您首先迁移到28.0.0,可能会更容易捕获与API相关的错误。
Jetifier在构建过程中通过将所有android.support
类名替换为androidx
和com.google.android.material
等效项来修改类文件。这会影响构建中包括的每个类文件,甚至包括来自第三方库的文件。因此,它为您提供了对较早版本的支持库的向后兼容性。
针对较早版本的android的向后兼容性现在已内置在工件中-androidx.viewpager
仅适用于Android SDK 14及更高版本。就其价值而言,v4,v7和v13工件并不意味着“支持Android SDK 4 + / 7 + / 13 +” since the 26.0.0 release。