Android AndroidX的集成

Google 2018 IO大会推出了Android新的扩展库AndroidX,用于替换原来的Android扩展库,将原来的android.*替换成androidx.*:.

Old New
android.support.** androidx.@
android.databinding.** androidx.databinding.@
android.design.** com.google.android.material.@
android.support.test.** (in a future release) androidx.test.@
android.arch.** androidx.@
android.arch.persistence.room.** androidx.room.@
android.arch.persistence.** androidx.sqlite.@

接下来我们看使用AndroidX的扩展库需要那些配置:

1、在project的gradle.properties文件里添加如下配置:

1
2
android.useAndroidX=true
android.enableJetifier=true

2、将依赖库替换成AndroidX的库

比如将com.android.support:appcompat-v7库替换为androidx.appcompat:appcompat:1.0.0-alpha1
具体对应关系可以查看Google官方文档:AndroidX refactoring

3、使用最新Android SDK

完成上面两步后编译发现会报错,是因为AndroidX需要使用最新的Android sdk,打开Android Studio的设置找到Android SDK下载最新的Android P Preview的sdk,然后将module的build.gradle里的compileSdkVersion改为compileSdkVersion 'android-P'然后再编译就OK了

4、修改import,将原来import的android.**的包删除重新import为androidx.**的新的包

Android Studio 3.2 Canary 14及以上版本提供了更加方便快捷的方法一键重构到AndroidX。选择菜单上的ReFactor->Refactor to AndroidX...即可:

但是需要注意的是,如果你的项目compileSdkVersion不是最新的,即是27或者以下的,点击Refactor to AndroidX...会提示:

1
You need to have at least have compileSdk 28 set in your module build.gradle to refactor to androidx

提示很明显是让你使用28的sdk,但是在Android SDK里发现没有28的sdk,其实就是使用我们上面提到的最新的Android P Preview,即将compileSdkVersion改为compileSdkVersion 'android-P'即可,然后点击Refactor to AndroidX...Android Studio就会自动将你的项目重构为使用AndroidX的库,即自动完成我们上面的1、2、4步。

好了,到此AndroidX的简单集成就完成了,更多详细信息请查看Google官网:
AndroidX release notes
AndroidX refactoring
Hello World, AndroidX

坚持原创技术分享,您的支持将鼓励我继续创作!