关于什么是AndroidX(二)

简介: 迁移成功后,我们先build 一下项目,看看有没有报错,有时会报错,报错的地方可以通过控制台build选项卡中看到,有些是无法自动转换的,需要手动转化,比如布局xml中的控件包名,它会保留迁移之前的包名,这个时候我们手动使用AndroidX对应包明即可。

上一篇介绍了AndroidX的由来及优势,感兴趣的同学可以去看看,链接如下:

https://developer.aliyun.com/article/998222?spm=a2c6h.13148508.setting.14.53674f0e5ssYMk

这篇文章讲讲AndroidX的使用

从Android studio 3.4.2开始,新建的项目的已经强制勾选使用Android架构了,对比一下AndroidX项目及非AndroidX项目,很明显可以看到两点不同

第一:包名。之前Android Support Library中的API,它们的包名都是在android.support.下面,而AndroidX库中所有API的包名都变成了在androidx.下面,这说明一点,以后新版本的API发布,都是随着Androidx扩展库发布的,而不是随着Android操作系统发布,不在依赖于操作系统的版本了。

第二:命名规则。吸取了之前命名规则的弊端,AndroidX所有库的命名规则里都不会再包含具体操作系统API的版本号了。比如,像appcompat-v7库,在AndroidX中就变成了appcompat库。

完整的AndroidX依赖库格式如下:

implementation 'androidx.appcompat:appcompat:1.0.2'

那么如何将旧项目迁移到AndroidX,会不会很麻烦呢?放心,Google都替我们想好了。

首页要使用Android studio3.2或更新版本

第一步:现在项目中启用AndroidX,在gradle.properties中加入以下两句代码

android.useAndroidX=true
android.enableJetifier=true

android.useAndroidX=true 表示当前项目启用 AndroidX
android.enableJetifier=true 表示将依赖包也迁移到AndroidX 。如果取值为 false ,表示不迁移依赖包到AndroidX,但在使用依赖包中的内容时可能会出现问题,当然了,如果你的项目中没有使用任何三方依赖,那么,此项可以设置为 false

第二步:在Android studio菜单栏选择Refactor->Migrate to AndroidX
image.png

在执行此操作的时候,会提醒我们是否将当前项目打包备份,如果你提前做好了备份,可以忽略;如果没有备注,则选择备份,Android studio会将项目压缩保留一份源数据后再迁移。

迁移成功后,我们先build 一下项目,看看有没有报错,有时会报错,报错的地方可以通过控制台build选项卡中看到,有些是无法自动转换的,需要手动转化,比如布局xml中的控件包名,它会保留迁移之前的包名,这个时候我们手动使用AndroidX对应包明即可。

以上就是所有内容,that‘all

相关文章
|
开发工具 Android开发
AndroidX到底是啥?
AndroidX到底是啥?
175 0
|
8月前
|
Android开发
ConstraintLayout 的使用
ConstraintLayout 的使用
67 1
ConstraintLayout 的使用
|
XML 机器人 数据格式
ConstraintLayout简单效果
ConstraintLayout简单效果
355 0
ConstraintLayout简单效果
|
开发工具 Android开发
Android5.0之RecyclerView
Android5.0之RecyclerView
119 0
Android5.0之RecyclerView
|
API Android开发 开发者
关于什么是AndroidX(一)
Android 问世的时候,估计连开发者自己都没想到它会如此成功,因为一开始不可能就将API考虑得非常周到,以至于随着Android系统版本的不断迭代更新,每个版本都会新增加入很多新的API,但是新增的API在老版本中是不存在的,这里就出现了一个向下兼容的问题。
313 0
|
Android开发 Windows 数据格式
|
XML 数据可视化 Android开发
ConstraintLayout (这到底是什么)
本文讲的是ConstraintLayout (这到底是什么),我想先讨论一下我在学习这个很酷的布局时的经验。当 Google 发布这个布局后我就开始学习了,在这个过程中我遇到了很多的问题。我想找一些优秀的教程,但是结果都是一些教我在可视化编辑器里拖拽图片的东西,这些对我一点用都没有。
1184 0