Android项目快速迁移到AndroidX(详解)


操作步骤
①迁移前提

compileSdkVersion改为28(因为AnroidX 1.0.0版本是与Support Library 28.0.0一致的二进制文件,support最新的是28,所以可以直接迁移)
buildToolsVersion改为28.0.2以上(笔者使用的是 28.0.3 ,仅供参考)
gradle插件版本改为4.6及以上(gradle-wrapper.properties中修改distributionUrl)
Android Studio版本升级到3.2及以上,建议直接改为最新(笔者目前使用的是Android 4.0,可以通过Help -> About 查看当前AS版本)。重新构建后的gradle版本是5.4.1,因此上面一步自动完成。

注:关于AS如何升级,以及升级后的一系列问题网上已经有很多教程,读者可以自行搜索。

②开始迁移

step 1:在gradle.properties文件中添加以下配置

#Android 插件会使用对应的 AndroidX 库而非支持库。
android.useAndroidX=true
#Android 插件会通过重写现有第三方库的二进制文件,自动将这些库迁移为使用 AndroidX,但并不完全自动。
android.enableJetifier=true

step 2:如下图,AS打开项目 -> 菜单栏Refactor -> Migrate to AndroidX…
Android项目快速迁移到AndroidX(详解)

step 3:如下图,执行后会弹框询问是否备份。勾选上,会生成一个.zip文件,点击Migrrate。此时会弹出一个弹框,选择保存到哪里即可。
Android项目快速迁移到AndroidX(详解)

step 4:找到底部的Find,点击 Do refactor 即可(即重构项目)。AS会自动将原先的 support 依赖切换成 androidx ,并且修改项目中使用到的依赖库路径。

step 5:点击菜单栏 -> File -> Invalidate Caches /Restart 重启AS,清除缓存重启下。

emmm…到这里,老项目迁移到AndroidX的基本工作就已经完成,如果你人品好,程序就已经迁移完毕。但是如果项目比较复杂,基本上都是一堆报错。这时。不要着急,不要着急,不要着急,重要的事情要说三遍!!!!!点击下图中任意一个,重新编译项目。这时在底部的Build就会有错误出现的原因,这时就需要你自己慢慢跟着错误定位到位置去修改了。这里笔者总结了几个自己遇到的问题,做以下总结供读者参考
Android项目快速迁移到AndroidX(详解)

③迁移遇到的问题

part 1:res下java文件的导包问题,三部完成。操作流程图如下:

①去除旧包引用,导入新包。(注释掉就行,待会全局替换要用到)
②使用全局替换(Ctrl+Shift+R)将旧包替换为新包。如果你有代码洁癖,顺便Alt+Shift+O清除没用包,Ctrl+Shift+L格式化代码。
③将Build中所有错误按照①②步骤处理完之后,点击Make Project重构项目。
不出意外的话,会出来一堆新的错误。这时只要根据以上三个步骤,重复,重复,重复。直到没问题!!!暂时没发现什么捷径,无奈.jpg
Android项目快速迁移到AndroidX(详解)Android项目快速迁移到AndroidX(详解)

part 2:引入的第三方库内部仍然使用support包造成的问题。

从github上找到最新的依赖版本,替换原来的版本。重新Sync now即可。不出意外的话在底部的Build还会出现一堆错误,这时重复part 1的工作即可。如下图。(一般都是glide,butterknife这些)
Android项目快速迁移到AndroidX(详解)

完成了以上两步之后,程序就不会有报错了。但是,如果你点击Run运行到手机。你会发现有的界面根本显示不了,甚至有可能连启动都启动不了!!
Android项目快速迁移到AndroidX(详解)
原因就是res的导包问题,虽然从support迁移到androidx可以自动更换依赖,但是如下图:

Android项目快速迁移到AndroidX(详解)

可以看到,导入的包并不是我们想要的androidx包。
Android项目快速迁移到AndroidX(详解)

所以,还需要我们手动替换。不过还好,有了前面的操作之后,这点问题都比较容易解决。

Android项目快速迁移到AndroidX(详解)

Ctrl+Shift+R全局替换 -> Builde找下一个原因 -> Make Project -> Build找原因 -> 定位到问题 -> Ctrl+Shift+R全局替换 -> Builde找下一个原因 -> Make Project -> Build找原因 -> 定位到问题 -> Ctrl+Shift+R全局替换-> Builde找下一个原因 -> Make Project…直到没发现问题,套娃结束,迁移androidx成功!!!!

原创:https://www.panoramacn.com
源码网提供WordPress源码,帝国CMS源码discuz源码,微信小程序,小说源码,杰奇源码,thinkphp源码,ecshop模板源码,微擎模板源码,dede源码,织梦源码等。

专业搭建小说网站,小说程序,杰奇系列,微信小说系列,app系列小说

Android项目快速迁移到AndroidX(详解)

免责声明,若由于商用引起版权纠纷,一切责任均由使用者承担。

您必须遵守我们的协议,如果您下载了该资源行为将被视为对《免责声明》全部内容的认可-> 联系客服 投诉资源
www.panoramacn.com资源全部来自互联网收集,仅供用于学习和交流,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。 敬请谅解! 侵权删帖/违法举报/投稿等事物联系邮箱:2640602276@qq.com
未经允许不得转载:书荒源码源码网每日更新网站源码模板! » Android项目快速迁移到AndroidX(详解)
关注我们小说电影免费看
关注我们,获取更多的全网素材资源,有趣有料!
120000+人已关注
分享到:
赞(0) 打赏

评论抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

您的打赏就是我分享的动力!

支付宝扫一扫打赏

微信扫一扫打赏