这篇文章讲讲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

androidx 冲突 和v4 android和androidx_androidx 冲突 和v4

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

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

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