Android 迁移到 Androidx

Posted code小生

tags:

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

code小生,一个专注 android 领域的技术平台

前言

最近 Google 发布了 Android support library 28,同时也发布了 androidx 1.0.0 第一个正式版本,然后得知支持库的 "28.0.0" 将会是最后一次更新,之后的更新都会迁移到 Androidx 中,所以没办法,只能把项目依赖也迁移到 Androidx 了。

开始迁移

迁移步骤 Google 官方有给出流程,首先在 gradle.properties 文件中添加

// 表示使用 androidx
android.useAndroidX=true
// 表示将第三方库迁移到 androidx
android.enableJetifier=true

然后菜单栏 Refactor -> Migrate to Androidx 就可以了,Android Studio 会自动把你项目中的依赖切换到 Androidx,并且修改项目中使用到依赖库的路径。

迁移中的坑

当然啦,如果真的这么简单就完事了我就不用写这篇文章了,实际迁移中还是有不少问题的。

  • 首先,项目中使用到的依赖库路径修改有很多事错误的,或者是没有修改的,这个没办法,只能每个文件都打开,一个一个的修改了╥﹏╥…

  • 然后,使用android.enableJetifier=true可以将项目中使用的第三方库也迁移到 Androidx,但是,迁移后使用还是会报错,这时你需要 Flie -> Invalidate Caches /Restart 一下就可以了。

  • 接着就是项目中用到了 databinding 和 dagger 的,使用 dagger 的最新版本 2.17,注解处理器会产生冲突,导致项目无法编译成功,到处找解决方案都没有,最后只好退回 2.16 这个版本才解决了这个问题。



Kotlin推荐






分享技术我是认真的

以上是关于Android 迁移到 Androidx的主要内容,如果未能解决你的问题,请参考以下文章

Android 迁移到 Androidx

Android源码中com.android.support依赖迁移到AndroidX库

通过更新到 Android Studio 3.2 迁移到 AndroidX

Android Studio 将 androidx 迁移到 android 8.1 [关闭]

我如何将颤振项目迁移到 androidx:任务“:app:preDebugBuild”的执行失败。 > Android 依赖 'androidx.versionedparcelable

如何用 Android 数据绑定替换 androidx.fragment.app.FragmentContainerView 中的片段