美文网首页
Android AndroidX的迁移

Android AndroidX的迁移

作者: 栀夏暖阳 | 来源:发表于2020-01-15 16:17 被阅读0次

    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

    来源:简书

    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

    相关文章

      网友评论

          本文标题:Android AndroidX的迁移

          本文链接:https://www.haomeiwen.com/subject/wzckqxtx.html