无法通过添加React Native Admob来构建应用程序

时间:2019-05-15 12:39:47

标签: react-native admob build.gradle react-native-android

我正在开发一个现有应用程序,该应用程序具有较旧的依赖性。 这是我的 app / build.gradle

implementation "com.google.android.gms:play-services-base:12.0.1"
implementation "com.google.firebase:firebase-core:12.0.1"
implementation "com.google.firebase:firebase-analytics:12.0.1"
implementation "com.google.firebase:firebase-messaging:12.0.1"
implementation 'me.leolin:ShortcutBadger:1.1.21@aar'
implementation 'com.google.android.gms:play-services-maps:12.0.1'
implementation 'com.applovin:applovin-sdk:+' 

现在我要添加Google添加,因​​此我关注了-https://www.npmjs.com/package/react-native-admob

但是在安装后,我无法同步该应用程序。因此,我将依赖项更新为最新版本。

implementation "com.google.android.gms:play-services-base:16.1.0" 
implementation "com.google.firebase:firebase-core:16.0.9"
implementation "com.google.firebase:firebase-analytics:16.5.0"
implementation "com.google.firebase:firebase-messaging:18.0.0"
implementation 'me.leolin:ShortcutBadger:1.1.21@aar'
implementation 'com.google.android.gms:play-services-maps:16.1.0'
implementation 'com.applovin:applovin-sdk:+'

即使在那之后,我仍然收到错误消息

Gradle sync failed: The library com.google.android.gms:play-services-measurement-sdk-api is being requested by various other libraries at [[16.5.0,16.5.0]], but resolves to 16.3.0. Disable the plugin and check your dependencies tree using ./gradlew :app:dependencies.

请让我知道需要解决的问题。

谢谢。

1 个答案:

答案 0 :(得分:0)

react-native-admob的{​​{1}}中的com.google.android.gms:play-services-ads的依赖项声明为'+'。这将从maven repo获取该库的最新版本。

我还看到您使用了build.gradle,它也依赖于applovin-sdk

这与com.google.android.gms:play-services-ads文件android/app/build.gradle中的版本声明冲突。

在您的RN项目16.1.0文件夹中运行./gradlew app:dependencies。这将显示依赖关系树。 找出哪个库正在使用较早的播放服务依赖项,并强制其使用最新版本的android

查看本文以强制使用以下版本:https://medium.com/@suchydan/how-to-solve-google-play-services-version-collision-in-gradle-dependencies-ef086ae5c75f