我可以将Android支持库从27.1.1更新为AndroidX 1.0.0吗?

时间:2019-03-27 15:36:45

标签: android android-support-library androidx android-jetpack

我的代码库很复杂,因此在迁移到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)?我很困惑。

2 个答案:

答案 0 :(得分:0)

如果您有任何尚未迁移到AndroidX名称空间的Maven依赖项,则在gradle.properties文件中将以下两个标志设置为true时,Android Studio构建系统也会为您迁移这些依赖项:

android.useAndroidX = true

android.enableJetifier = true

要迁移不使用具有需要转换的依赖关系的任何第三方库的现有项目,可以将android.useAndroidX标志设置为true,并将android.enableJetifier标志设置为false。

更多信息:https://developer.android.com/jetpack/androidx/migrate

答案 1 :(得分:0)

支持库28.0.0和Androidx 1.0.0是built from the same source code,因此,如果您首先迁移到28.0.0,可能会更容易捕获与API相关的错误。

Jetifier在构建过程中通过将所有android.support类名替换为androidxcom.google.android.material等效项来修改类文件。这会影响构建中包括的每个类文件,甚至包括来自第三方库的文件。因此,它为您提供了对较早版本的支持库的向后兼容性。

针对较早版本的android的向后兼容性现在已内置在工件中-androidx.viewpager仅适用于Android SDK 14及更高版本。就其价值而言,v4,v7和v13工件并不意味着“支持Android SDK 4 + / 7 + / 13 +” since the 26.0.0 release