这是我的故事:我已将我的应用程序迁移到AndroidX,因为我需要一些我在网上找到的库中的新功能。
问题:我目前遇到了一些问题,因为我现在需要为Cordova开发一个实现该应用程序一部分的插件。
我在我的库中生成了一个.arr文件,并尝试制作一个Cordova插件,作为使用该库的接口。但是当我尝试使用cordova-plugin-camera
和我的插件(使用AndroidX)时,我得到错误:重复导入,因为cordova-plugin-camera
使用支持库。
解决方案:我已将依赖项移除到AndroidX并将其替换为旧的支持库。
问题:现在切换到AndroidX是一个好主意还是我最好保留支持库?我做错了吗?你为你的项目选择了什么?
我已经创建了几个实用程序插件来协助Cordova Android项目中的AndroidX迁移:
我在现有的插件中创建了这些作为AndroidX支持的通用解决方案,这些插件引用了Android支持库,例如: cordova-diagnostic-plugin对齐AndroidX support issues has been raised。
这意味着通过在已包含引用旧版支持库名称和/或AndroidX名称的插件的Cordova项目中安装这两个插件,构建现在将成功。
例如,试试这个测试用例:
cordova create test && cd test
cordova platform add android@8
cordova build android
=> build succeeds
cordova plugin add cordova.plugins.diagnostic
cordova build android
=> build succeeds
cordova plugin add cordova-plugin-androidx
cordova build android
=> build fails
cordova plugin add cordova-plugin-androidx-adapter
cordova build android
=> build succeeds