androidx 你好 ,android.support 再见。

Posted 鸿洋

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了androidx 你好 ,android.support 再见。相关的知识,希望对你有一定的参考价值。

本文作者


链接:

https://www.jianshu.com/p/41de8689615d

本文由作者授权发布。


我只能说 Google 很任性~


1
androidX 简介


点击查看Android文档中对androidx的简介

https://developer.android.com/topic/libraries/support-library/androidx-overview


按照官方文档说明 androidx 是对 android.support.xxx 包的整理后产物。由于之前的support包过于混乱,所以,google推出了 androidX。


由于在后续版本中,会逐步放弃对support 的升级和维护,所以,我们必须迁移到 androidX.对此,官方描述如下:


Existing packages, such as the Android Support Library, are being refactored into AndroidX.

Although Support Library versions 27 and lower are still available on Google Maven,

all new development will be included in only AndroidX versions 1.0.0 and higher.


2
迁移步骤


2.1 修改gradle.properties


android.useAndroidX=true
android.enableJetifier=true


其中:


  • android.useAndroidX=true 表示当前项目启用 androidx

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


2.2 如何迁移


点击查看官方迁移指南

https://developer.android.com/topic/libraries/support-library/refactor#migrate


在AndroidStudio 3.2 或更高版本(目前最新正式版为3.2,其他更高版为alpha版)中执行如下操作:


  • Refactor > Migrate to AndroidX



在执行该操作时会提醒我们是否将当前项目打包备份。如果你提前已经做好了备份,可以忽略;如果没有备份,则先备份。


3
迁移后续


3.1 手动修改错误包名


由于 Migrate to AndroidX 执行之后,部分控件的包名/路径名转换的有问题,所以还需要我们手动调整(包括修改xml布局文件和.java/.kt 文件)。


如:ViewPager,RecyclerView 等,这些内容在迁移完成之后,包名是 androidx.core.weight.xxxx,这是一个错误的包名,我们必须手动修改,否则,无法正常编译——点击绿色 Run(运行) 按钮时会详细报出哪里有错误。


此处需要注意,在 AndroidStudio 的 build 选项卡中一次最多只会报 50条错误!! 所以,可能在你修完第一批之后,后面还有N个50。此处要保持一个平静的

以上是关于androidx 你好 ,android.support 再见。的主要内容,如果未能解决你的问题,请参考以下文章

TextInputLayout

RecyclerView 上拉加载下拉刷新

Android N安装apk报错:android.os.FileUriExposedException

Facebook 广告集成到 Android 应用程序中

Android Support v4 22.2.0 的 Proguard 配置

重复条目:android / support / v7 / recyclerview / extensions / ListAdapter.class [复制]