1. AndroidX变化
1)常用依赖库对比:
Old build artifactAndroidX build artifact
com.android.support:appcompat-v7:28.0.2 ======>androidx.appcompat:appcompat:1.0.0
com.android.support:design:28.0.2======>com.google.android.material:material:1.0.0
com.android.support:support-v4:28.0.2======>androidx.legacy:legacy-support-v4:1.0.0
com.android.support:recyclerview-v7:28.0.2======>androidx.recyclerview:recyclerview:1.0.0
com.android.support.constraint:constraint-layout:1.1.2======>androidx.constraintlayout:constraintlayout:1.1.2
更多详细变化内容,可以下载CSV格式映射文件;
2)常用支持库类对比:
Support Library classAndroidX class
android.support.v4.app.Fragment======>androidx.fragment.app.Fragment
android.support.v4.app.FragmentActivity======>androidx.fragment.app.FragmentActivity
android.support.v7.app.AppCompatActivity======>androidx.appcompat.app.AppCompatActivity
android.support.v7.app.ActionBar======>androidx.appcompat.app.ActionBar
android.support.v7.widget.RecyclerView======>androidx.recyclerview.widget.RecyclerView
更多详细变化内容,可以下载CSV格式映射文件。
2. AndroidX配置
1)更新升级插件
将AS更新至AS 3.2及以上;
Gradle 插件版本改为4.6及以上;
项目下gradle/wrapper/gradle-wrapper.propertie文件中的distributionUrl改为:
distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip
compileSdkVersion 版本升级到28及以上;
buildToolsVersion 版本改为28.0.2及以上。
插件更新提示
2)开启迁移AndroidX
在项目的gradle.properties文件里添加如下配置:
android.useAndroidX=trueandroid.enableJetifier=true
表示项目启用 AndroidX 并迁移到 AndroidX。
3)替换依赖库
修改项目app目录下的build.gradle依赖库:
implementation 'com.android.support:appcompat-v7:28.0.2' → implementation 'androidx.appcompat:appcompat:1.0.0'implementation 'com.android.support:design:28.0.2' → implementation 'com.google.android.material:material:1.0.0'implementation 'com.android.support.constraint:constraint-layout:1.1.2' → implementation 'androidx.constraintlayout:constraintlayout:1.1.2'...
4)修改支持库类
将原来import的android.**包删除,重新import新的androidx.**包;
importandroid.support.v7.app.AppCompatActivity;→importandroidx.appcompat.app.AppCompatActivity;
5)一键迁移AndroidX库
AS 3.2 及以上版本提供了更加方便快捷的方法一键迁移到 AndroidX。选择菜单上的ReFactor —— Migrate to AndroidX...即可。(如果迁移失败,就需要重复上面1,2,3,4步手动去修改迁移)
AndroidX 迁移
注意:如果你的项目compileSdkVersion 低于28,点击Refactor to AndroidX...会提示:
You need to have at least have compileSdk28set in your module build.gradle to refactor to androidx
提示让你使用不低于28的sdk,升级最新到SDK,然后点击Migrate to AndroidX...,AS就会自动将项目重构并使用AndroidX库。
3. AndroidX迁移问题
《Android Support库和AndroidX冲突问题》
4. AndroidX影响
虽然说目前对我们没有多大影响,我们可以不使用仍然使用旧版本的支持库,毕竟没有强制,但长远来看还是有好处的。AndroidX重新设计了包结构,旨在鼓励库的小型化,支持库和架构组件包的名字也都简化了;而且也是减轻Android生态系统碎片化的有效方式。
作者:翻译不了的声响
链接:https://www.jianshu.com/p/7dc111353328
来源:
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。