我有一个复杂的代码库,我在迁移到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)提供了向后兼容性?我糊涂了。
如果您有任何尚未迁移到AndroidX名称空间的Maven依赖项,那么当您在gradle.properties文件中将以下两个标志设置为true时,Android Studio构建系统也会为您迁移这些依赖项:
android.useAndroidX =真
android.enableJetifier =真
要迁移不使用任何需要转换的依赖项的第三方库的现有项目,可以将android.useAndroidX标志设置为true,将android.enableJetifier标志设置为false。
支持库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。