android - 如何解决 Android 支持库和 AndroidX 之间的冲突?
问题描述
我是一个统一开发人员,为了解决冲突尝试将我的项目导出到 android studio。
我同时使用 firebase 和 vungle 库。firebase 依赖于 android-core 而 vungle 依赖于 support-compat。如果我同时编译它们,我会收到编译错误:
Duplicate class android.support.v4.app.INotificationSideChannel found in modules classes.jar (:androidx.core.core-1.0.0:) and support-compat-27.1.1.jar (support-compat-27.1.1.jar)
如果我评论其中一个,我会在游戏开始时收到运行时错误。我真的能做什么?
谢谢
解决方案
Vungle SDK 从 6.5 开始支持 androidx,现在处于早期访问阶段。如果您想使用 6.4.11,最好使用 Android Studio Gradle 工具进行迁移,正如其他答案所述。然后应该使用 SDK 6.4.11 修复该问题。但万一有人不想导出 Android Studio 项目,但仍想使用 SDK 6.4.11。您可以按照此处的文档在没有 Android Studio 的情况下自行迁移 Vungle SDK。你需要做的是:
- 下载jetifier并解压
- 使用终端和 cd 到文件夹(mac)
- 下载SDK 6.4.11并将 SDK 6.4.11 jar/aar 拖到文件夹 jetifier-standalone/bin
最后的步骤运行以下命令:
./jetifier-standalone -i publisher-sdk-android-6.4.11.aar -o publisher-sdk-android-6.4.11-androidx.aar
或者
./jetifier-standalone -i vungle-android-sdk-6.4.11.jar -o vungle-android-sdk-6.4.11-androidx.jar
./jetifier-standalone -i vng-moat-mobile-app-kit-2.5.1.jar -o vng-moat-mobile-app-kit-2.5.1-androidx.jar
如果您使用jar文件进行集成,请确保转换两个库。
请使用JD-GUI检查 jar/aar 并确保迁移已完成。我遇到了一次失败的迁移,没有任何错误。所以检查它会很棒。您可以检查以下文件:
最后,如果您不想自己做,请随时从我的保管箱下载迁移后的aar文件。我相信它会在一段时间内可用。如果有人需要罐子,请告诉我。
推荐阅读
- python - M1 Mac - GDAL 错误的架构错误 [Django]
- apache-spark - 如何在 Spark sql 中使用外部应用
- database-performance - Cassandra 单 DC 多节点 - 读取查询缓慢
- r - 对于一列中的指定值,查找另一列中值的变化幅度,对于每个 ID
- sql - 使用数组过滤结果的数据库 SQL 查询
- python - Softmax 在 MNIST 爆炸梯度上从头开始
- docker - docker stop 不遵守 stop_grace_period
- c# - Kendo MVC - 为特定工具提示设置自定义样式
- javascript - JAVASCRIPT-我的 FOR 循环只执行一次
- javascript - TinyMCE 编辑器不会调整大小