上一篇介绍了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
在执行此操作的时候,会提醒我们是否将当前项目打包备份,如果你提前做好了备份,可以忽略;如果没有备注,则选择备份,Android studio会将项目压缩保留一份源数据后再迁移。
迁移成功后,我们先build 一下项目,看看有没有报错,有时会报错,报错的地方可以通过控制台build选项卡中看到,有些是无法自动转换的,需要手动转化,比如布局xml中的控件包名,它会保留迁移之前的包名,这个时候我们手动使用AndroidX对应包明即可。
以上就是所有内容,that‘all