关于迁移AndroidX:引入包名import [package]的问题

最近不怎么在“捣鼓”Android,更别说什么升级迁移AndroidX。原本在使用Android Studio3.1.x的时候就动了心思,不过一直没什么兴趣和时间。当某天再次看到AndroidX的关键字眼,心血来潮决定把原来写的APP迁移到AndroidX。

首先,查看当前所用的Android Studio的版本号:

关于迁移AndroidX:引入包名import [package]的问题_第1张图片 查找帮助

点击About即可看到具体的版本号:

关于迁移AndroidX:引入包名import [package]的问题_第2张图片 Android Studio具体版本号

这里是升级后的新版本的查找方法,历史版本的Android Studio类似。当前版本是支持辅助工具迁移到AndroidX的。查询所使用的IDE是否支持迁移AndroidX的方法如下:

关于迁移AndroidX:引入包名import [package]的问题_第3张图片 是否支持迁移AndroidX工具

在菜单栏Refactor中的选项中发现“Migrate to AndroidX...”,即是可以直接使用辅助工具进行迁移操作。否则,升级Android Studio到较新版本。

接下来就开始迁移至AndroidX的进程:

点击“Migrate to AndroidX...”,会弹出确认对话框及其选项,选项很简单就两个:一个为需要进行迁移的Android项目,另一个是否需要打包原项目的选项。如图示:

关于迁移AndroidX:引入包名import [package]的问题_第4张图片 是否迁移到AndroidX

这里当然是“Migrate”以及确保勾选“Backup project as Zip file”--备份原项目为Zip文件。开始迁移工作:

关于迁移AndroidX:引入包名import [package]的问题_第5张图片 选择项目和备份

点击“OK”确认,迁移就开始了:

迁移AndroidX-2 迁移AndroidX:查找目标用法
关于迁移AndroidX:引入包名import [package]的问题_第6张图片 迁移到AndroidX成功

毫无疑问,上图是迁移完成后或没有需要辅助工具帮助的地方才出现的提示,这里笔者已完成迁移AndroidX。而如果没有完成或需要迁移,则会在下面的位置给予相关的提醒:

关于迁移AndroidX:引入包名import [package]的问题_第7张图片 迁移AndroidX提醒

相关需要修改的内容就会罗列在 Build Output之中,包括gradle,source和layout。其实就是完整或模糊导入的package名称。这意味着,迁移到AndroidX的实质操作就是:修改当前Android项目的gradle、source和layout等文件中的package包名和class类名。到了这里,就是比较关键的位置。需要将原package包或class类,将support v4/v7/v11等等一系列和android.*中相关和androidx.*进行一一对应。这是Android目前官方网站的package包列表地址:https://developer.android.google.cn/reference/androidx/packages

包括Kotlin和Java的:

关于迁移AndroidX:引入包名import [package]的问题_第8张图片 Kotlin
关于迁移AndroidX:引入包名import [package]的问题_第9张图片 Java

那么按 Migrate to AndroidX的提示完成操作就万事大吉OK?答案是:不一定。可能gralde存在一些非Android体系的package包和class类没有相对应的适配。再次 Build Project 后会发现没有通过,就是这个原因。这个就需要手动去查找第三方的 文档,找出对应的解决方案。

你可能感兴趣的:(Android,Studio,Android,技术)