报错信息:
Program type aleady present: android.support.v4.app.INotificationSideChannel$Stub$Proxy
另一种报错提示在android/app/build.gradle 中添加'com.xxx.xxx'
根本原因是Android Support库和AndroidX不兼容
解决办法
1.转换成Androidx
在 AS 3.2 及以上版本提供了更加方便快捷的方法一键迁移到 AndroidX。 《AndroidX的迁移》
2.转换成Android Support
- 在 Terminal 中输入gradlew :app:dependencies命令,查看第三方库的依赖树并找出引用了 androidx的库
- 查找出运用了Androidx库的插件,进入相关项目git地址,查看项目版本更新记录,把插件版本会退到没有引用Androidx的版本号
- 重新build会发现依赖 androidx库消失了
注意事项
- 许多第三方库并没有迁移 androidx库,所以项目在使用 androidx库时应当注意兼容问题;
- 在引用依赖库的时候,尽量避免使用latest.release或+方式,而是使用具体的版本。以免出现新旧库兼容,编译时间久等问题。