androidx 迁移

作者: anap | 来源:发表于2019-05-29 10:00 被阅读80次

(1)常用依赖库对比:

Old build artifact-->AndroidX build artifact

com.android.support:appcompat-v7:28.0.0-->androidx.appcompat:appcompat:1.0.0

com.android.support:design:28.0.0-->com.google.android.material:material:1.0.0

com.android.support:support-v4:28.0.0-->androidx.legacy:legacy-support-v4:1.0.0

com.android.support:recyclerview-v7:28.0.0-->androidx.recyclerview:recyclerview:1.0.0

com.android.support.constraint:constraint-layout:1.1.3-->androidx.constraintlayout:constraintlayout:1.1.3

(2)常用支持库类对比:

Support Library class-->AndroidX 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

2. AndroidX配置

1)更新升级插件

将AS更新至AS 3.4及以上;

Gradle 插件版本改为5.1.1及以上;

项目下gradle/wrapper/gradle-wrapper.propertie文件中的distributionUrl改为:

distributionUrl=https\://services.gradle.org/distributions/gradle-5.1.1-all.zip

compileSdkVersion 版本升级到28及以上;

buildToolsVersion 版本改为28.0.0及以上。

2)开启迁移AndroidX

在项目的gradle.properties文件里添加如下配置:

android.useAndroidX=true

android.enableJetifier=true

表示项目启用 AndroidX 并迁移到 AndroidX。

3)替换依赖库

修改项目app目录下的build.gradle依赖库:

implementation 'com.android.support:appcompat-v7:28.0.0'→ implementation 'androidx.appcompat:appcompat:1.0.2'

implementation 'com.android.support:design:28.0.0'→implementation 'com.google.android.material:material:1.0.0'

implementation 'com.android.support.constraint:constraint-layout:1.1.3'→ implementation 'androidx.constraintlayout:constraintlayout:1.1.3'

4)修改支持库类

将原来import的android.**包删除,重新import新的androidx.**包;

import android.support.v7.app.AppCompatActivity; →import androidx.appcompat.app.AppCompatActivity;

5)一键迁移AndroidX库

AS 3.2 及以上版本提供了更加方便快捷的方法一键迁移到 AndroidX。选择菜单上的ReFactor —— Migrate to AndroidX...即可。(如果迁移失败,就需要重复上面1,2,3,4步手动去修改迁移)

注意:如果你的项目compileSdkVersion 低于28,点击Refactor to AndroidX...会提示:

You need to have at least have compileSdk28 set in your module build.gradle to refactor to androidx

提示让你使用不低于28的sdk,升级最新到SDK,然后点击Migrate to AndroidX...,AS就会自动将项目重构并使用AndroidX库。

3. AndroidX影响

虽然说目前对我们没有多大影响,我们可以不使用仍然使用旧版本的支持库,毕竟没有强制,但长远来看还是有好处的。AndroidX重新设计了包结构,旨在鼓励库的小型化,支持库和架构组件包的名字也都简化了;而且也是减轻Android生态系统碎片化的有效方式。

4. AndroidX迁移问题

手动迁移涉及到很多xml文件的控件替换需要花一点时间,记得先备份代码再进行迁移。

本文参考其他文章,根据个人经验修改,侵删。

相关文章

  • 是时候迁移至androidX--Google官方视频笔记

    视频连接:迁移AndroidX 1.为什么需要迁移到AndroidX Support Library 28.0是最...

  • AndroidX迁移小记

    AndroidX迁移小记 为什么要迁移AndroidX?因为Android 现有的软件包,如Android支持库,...

  • 笔记

    Android Studio升级到3.4后的两个小坑 AndroidX迁移 1.AndroidX迁移 2....

  • AndroidX - Program type already

    最近在将项目迁移到Androidx的时候,通过Refactor - > Migrate to AndroidX,然...

  • AndroidX 迁移

    title: androidx迁移date: 2019-10-15 11:49:20tags: Androidx ...

  • AndroidX迁移和方法

    迁移到 AndroidX AndroidX 将原始支持库 API 替换为 androidx 命名空间中的软件包。只...

  • 迁移AndroidX

    迁移AndroidX https://developer.android.google.cn/jetpack/an...

  • 迁移AndroidX!!!

    参考链接本次迁移主要参考上面谷歌官方公众号文章,迁移背景建议点进文章进行查看,本文主要提及一些迁移过程和其中遇到的...

  • 迁移AndroidX

    1. 前言 AndroidX replaces the original support library APIs...

  • AndroidX迁移

    什么是 AndroidX? Google 2018 IO 大会推出了 Android新的扩展库 AndroidX,...

网友评论

    本文标题:androidx 迁移

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