首页 > 解决方案 > 什么可以在不更改代码的情况下破坏 android 构建?

问题描述

我正在开发一个react-native使用react-native-firebase的应用程序。我已经在 travis 上设置了一个 CI 构建,目的是获得可重复的构建,但它突然停止工作,详情如下:

Android 依赖 'com.google.android.gms:play-services-base' 的编译 (16.0.1) 和运行时 (17.0.0) 类路径有不同的版本。您应该通过 DependencyResolution 手动设置相同的版本

我唯一合理的猜测是某些依赖性已经改变,但我不明白 android 构建得足够好,无法弄清楚发生了什么或为什么。

显然,我该如何防止这种意外发生在未来?(在我看来,这个构建应该是完全可重复的)

附带说明一下,当构建失败时,它还会显示几个警告,例如:

警告:与项目 ':app' 中的依赖项 'com.google.android.gms:play-services-base' 冲突。运行时类路径 (17.0.0) 和编译类路径 (16.0.1) 的已解决版本不同。这可能导致运行时崩溃。要解决此问题,请遵循https://developer.android.com/studio/build/gradle-tips#configure-project-wide-properties上的建议。或者,您可以尝试通过将此代码段添加到 /home/travis/build/mapswipe/mapswipe/android/app/build.gradle 来解决问题: dependencies { implementation("com.google.android.gms:play-services-基数:17.0.0") }

但遵循该建议只会导致更多(不同)错误。

标签: javaandroidreact-nativegoogle-play-services

解决方案


根本原因是相关迁移到Androidx,google play服务更新到androidX

如果您正在使用real-native-info,请升级。它将用2.1.2解决您的问题

这里申请链接

注意:升级com.google.android.gms到 17.0.0 会导致很多问题。


推荐阅读