androidx 你好 ,android.support 再见。
Posted 鸿洋
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了androidx 你好 ,android.support 再见。相关的知识,希望对你有一定的参考价值。
本文作者
链接:
https://www.jianshu.com/p/41de8689615d
本文由作者授权发布。
我只能说 Google 很任性~
点击查看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.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.1 手动修改错误包名
由于 Migrate to AndroidX 执行之后,部分控件的包名/路径名转换的有问题,所以还需要我们手动调整(包括修改xml布局文件和.java/.kt 文件)。
如:ViewPager,RecyclerView 等,这些内容在迁移完成之后,包名是 androidx.core.weight.xxxx,这是一个错误的包名,我们必须手动修改,否则,无法正常编译——点击绿色 Run(运行) 按钮时会详细报出哪里有错误。
此处需要注意,在 AndroidStudio 的 build 选项卡中一次最多只会报 50条错误!! 所以,可能在你修完第一批之后,后面还有N个50。此处要保持一个平静的
以上是关于androidx 你好 ,android.support 再见。的主要内容,如果未能解决你的问题,请参考以下文章
Android N安装apk报错:android.os.FileUriExposedException
Android Support v4 22.2.0 的 Proguard 配置
重复条目:android / support / v7 / recyclerview / extensions / ListAdapter.class [复制]