You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

将现有Android Support库迁移至AndroidX的最简方案咨询

最简可行的Android Support库转AndroidX方案

嘿,我来帮你搞定这个AndroidX迁移的事儿!其实你不用自己瞎琢磨手动改,Google官方给的一键迁移工具就是最简最靠谱的方案,跟着下面的步骤走就行:

1. 先做好备份!

这步绝对不能省!先把项目推到Git仓库,或者本地复制一份完整的项目文件夹,避免迁移过程中出问题没法回滚。

2. 开启AndroidX支持

打开项目根目录下的gradle.properties文件,添加以下两行配置:

android.useAndroidX=true
android.enableJetifier=true
  • android.useAndroidX=true:告诉Gradle我们要使用AndroidX库替代旧的Support库
  • android.enableJetifier=true:自动把第三方依赖里的Support库代码转换成AndroidX版本,省得你手动去改那些依赖的源码

3. 执行一键迁移

打开Android Studio,依次点击顶部菜单栏的:
Refactor > Migrate to AndroidX...

弹出对话框后,先预览一下AS要修改的文件(没问题的话),点击Do Refactor,剩下的就交给AS自动处理:

  • 替换Java/Kotlin代码里所有Support库的导入语句为对应的AndroidX类
  • 替换布局XML里的Support组件标签(比如把android.support.v7.widget.RecyclerView换成androidx.recyclerview.widget.RecyclerView
  • 更新所有模块build.gradle里的依赖引用

4. 处理残留小问题

迁移完成后,可能会遇到一些小报错,常见的解决方法:

  • 某些自定义View或者极老的第三方依赖没被Jetifier覆盖:手动替换对应的AndroidX类,或者检查依赖是否有支持AndroidX的新版本
  • 资源冲突或者构建报错:先执行Build > Clean Project,再Build > Rebuild Project,一般就能解决

额外小提示

如果你的项目是多模块结构,这个工具会自动遍历所有模块完成迁移,不用一个个模块手动操作。另外,如果条件允许,建议把build.gradle里的compileSdkVersion升级到28及以上(Android Oreo对应26,不过AndroidX在更高的SDK版本下兼容性更好),如果暂时不想升级,也能完成迁移,只是可能需要处理个别适配问题。

内容的提问来源于stack exchange,提问作者Zeeshan Ahmad

火山引擎 最新活动