1. AndroidX概览
AndroidX是google团队在jetpack中用来开发、测试、打包、版本和发布库的开源项目.AndroidX是对最初的Android Support库的重大改进。和Android Support库一样,AndroidX独立于Android操作系统,并提供跨android版本的向后兼容性。AndroidX通过提供功能均等的库以及新的库,从而完全取代了Android Support库。
除此之外AndroidX包含以下几个特性:
- AndroidX中所有的包都位于一个以‘androidx’开头的一致的命名空间中,Android Support库中的包已经被映射到对应的androidx.*包中,只改变了包名和Maven artifact名称,类、方法以及字段都没有改变。
- 和Android Support库不一样的是,AndroidX中的包是单独维护和更新的。androidx包从1.0.0版本开始使用严格的Semantic Versioning 语义版本控制。你可以独立更新AndroidX库到你的项目中。
- 所有新的Android Support库开发都将在AndroidX库中进行,这包括了维护原始Android Support库构件以及引入新的Jetpack组件。
更多信息请参考 AndroidX概览
2. 使用AndroidX
2.1 在新项目中使用AndroidX库
如果你想在新项目中使用androidx库,那么你需要设置sdk的编译版本为Android9.0 (API level 28) 或者更高版本,并且在你项目的 gradle.properties 文件中设置以下几个Android Gradle 插件标示为true.
# 当设置为true时,Android插件使用适当的AndroidX库而不是Android Support库;此标示未指定时默认为false.
android.useAndroidX=true
# 当设置为true时,Android插件会自动迁移现有的第三方库,通过重写他们的二进制文件来使用AndroidX.此标示未指定时默认为false.
android.enableJetifier=true
2.2 使用Android Studio迁移现有项目
- Android studio 3.2 及以上版本。
- gradle plugin 3.2.0及以上版本。在你项目的build.gradle文件中修改以下信息:
buildScript{
dependencies {
classpath 'com.android.tools.build:gradle:3.2.0'
}
}
- 你可以通过在菜单栏选择 Refactor -> Migrate to AndroidX 快速迁移项目使用AndroidX.
- 如果你的项目中有很多Maven依赖还没有迁移到AndroidX的,当你在项目的gradle.properties文件中使用以下两个标识为true时,Android Studio构建系统也会为你迁移这些依赖的
android.useAndroidX=true
android.enableJetifier=true
迁移一个没有使用任何需要转换的第三方库依赖(即第三方库不需要转换使用AndroidX库)的现有项目时,你可以设置
android.useAndroidX=true
android.enableJetifier=false
更多信息请参考迁移到AndroidX