我试图哄骗许多android库一起很好地玩,但是我对版本控制系统感到沮丧。
我已经设法使rashbases的firebase版本能够正常工作,但是目前无法使其与admob一起正常工作:
在我的应用程序“build.gradle”中,我具有以下依赖项部分:
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'com.google.firebase:firebase-core:16.0.1'
implementation 'com.android.support:appcompat-v7:27.1.1'
implementation 'com.android.support.constraint:constraint-layout:1.0.2'
testImplementation 'junit:junit:4.12'
implementation 'com.crashlytics.sdk.android:crashlytics-ndk:2.0.5'
implementation 'com.crashlytics.sdk.android:crashlytics:2.9.6'
implementation 'com.google.android.gms:play-services-ads:16.0.1'
}
产生此错误:
Failed to resolve: com.google.android.gms:play-services-ads:16.0.1
'16 .0.4'也失败,而'17 .1.1'产生此错误:
The following dependencies are project dependencies that are direct or have transitive dependencies that lead to the art
ifact with the issue.
-- Project 'app' depends onto com.google.firebase:firebase-core@16.0.1
-- Project 'app' depends onto com.google.android.gms:play-services-ads@17.1.1
认为可能所有依赖项都必须为'17 .1.1'导致gradle无法找到'com.google.firebase:firebase-core:17.1.1'
我怀疑我是独自一个人发现这种汤有些不透明。有没有更简单的方法来确保一组库可以很好地协同工作?
最佳答案
加:
implementation 'com.google.firebase:firebase-core:16.0.4'
implementation 'com.google.android.gms:play-services-ads:17.1.1'
并在顶级gradle文件中使用最新版本的Google Play服务:
classpath 'com.google.gms:google-services:4.0.2'
注意:
您需要按照firebase文档中的指定在顶级gradle文件中添加google()仓库,并且该文件也应位于jcenter()之前:
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.2.1'
classpath 'com.google.gms:google-services:4.0.2'
}
}
allprojects {
repositories {
google()
jcenter()
}
}
关于android - Android Gradle库 'failure to resolve',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53288042/