使用环境

项目中用了融云的IMKit库,这个库原本是support版,而我的项目是AndroidX版本.虽然项目中会爆红线但是不影响正常阅读和编译代码,但是看着还是很不爽.

所以要把依赖库也改成AndroidX的

方法一

一些库由纯代码组成,比如:

8ad51238509a62d707fc2a782c37ebe4.png

还以融云举例,CallKit库由代码组成,将它转为AndroidX的库步骤:

右键 CallKit 模块,点击 Refactor > Migrate to AndroidX

b75f8b08832bb74e33edb1d56986b5bb.png

单击后出现如下图提示信息,建议去掉勾选(不备份)。单击 Migrate 。

d4479fe2b12009d645ef40ad353b128a.png

点击 Do Refactor 确认迁移,Android Studio 自动执行 CallKit 迁移 AndroidX 的替换过程。

821c1943df839ba078ce4f01bffb2c04.png

CallKit 迁移完成后,Callkit模块中 AudioPlugin、VideoPlugin 会报引用错误,删除报错的 import 语句并重新导入引用

937aac13692b93248aa2cddf8156e931.png

方法二

三方库中主要代码以jar包为主,我们需要将jar包从support转为AndroidX

比如融云的IMKit项目,主要业务都在Rong_IMKit.jar中

36ad6a3c0ff98c5e09d31c4ab89ca5e5.png

Android 开发者官网 下载 Jetifier 工具,具体使用环境要求以页面内文档为主 下载链接

2.下载好的jetifier文件解压后,打开命令行工具.进入jetifier-standalone\bin文件夹, 使用jetifier-standalone -i -o 命令

例: jetifier-standalone -i Rong_IMKit.jar -o Rong_IMKit_For_AndroidX.jar

Rong_IMKit.jar是原本support的引入包,重新生成的Rong_IMKit_For_AndroidX.jar就是AndroidX的包了,转换成功后没有任何提示,这里因为我已经转换过了,所以会提示WARNING: [Main] No references were rewritten. You don't need to run Jetifier.

25058d47f99fb51548e935066574530b.png

或者在项目引入IMKit包之前将IMKit文件夹复制到jetifier-standalone\bin文件夹,

使用jetifier-standalone -i IMKit/src/main/libs/Rong_IMKit.jar -o IMKit/src/main/libs/Rong_IMKit.jar命令,

即可将Rong_IMKit.jar被新生成的AndroidX版本jar包直接覆盖

3.重复方法一中的第四步即可

其他任何三方库照本宣科即可

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐