昨天我尝试构建我的应用程序,一切正常。
今天,没有对项目进行任何更改......突然间,我收到了这条警告信息,告诉我:
Error:Could not find play-services-basement.aar (com.google.android.gms:play-services-basement:11.0.1).
Searched in the following locations:
https://jcenter.bintray.com/com/google/android/gms/play-services-basement/11.0.1/play-services-basement-11.0.1.aar
是否有人遇到过同样的问题?
如果你按照它搜索包的链接,它基本上可以通过浏览器立即下载。我想服务器端有什么变化?也许是命名惯例?
看起来它正在寻找:play-services-basement.aar并取代play-services-basement-11.0.1.aar? 这可能是命名约定还是gradle问题?
答案 0 :(得分:353)
jcenter()具有某些库的镜像(我想它们是有意做的),这些库最初应通过google()或maven()存储库获得。当gradle构建工作时,对于项目中使用的任何库,首先要查找的存储库是repositories {..
中首先列出的存储库,当jcenter()镜像没有发布时(例如com.google)。 android.gms:play-services-ads:15.0.1(对于我来说),您的gradle正在寻找,构建失败并出现此类错误。
因此,jcenter()应该在repositories {..
部分的最后位置列出,如下所示。
buildscript {
ext.kotlin_version = '1.2.50'
repositories {
google()
maven {
url 'https://maven.google.com/'
name 'Google'
}
jcenter()
}...
和
allprojects {
repositories {
google()
jcenter()
}
}
答案 1 :(得分:13)
这太疯狂了!!!我遇到了同样的问题。生成工作正常,然后突然开始失败,并出现相同的问题。我尝试了上述建议,但对我没有用。最后,这对我有用:
更新到最新的Firebase依赖项:
implementation 'com.google.firebase:firebase-core:16.0.4' implementation 'com.google.firebase:firebase-ads:17.0.0'
此外,广告服务:
实现'com.google.android.gms:play-services-ads:17.0.0'
注意:对于play-services-ads:17.0.0,必须在清单文件中添加以下内容,否则应用程序在打开时崩溃。
<application> <!-- Sample AdMob App ID: ca-app-pub-3940256099942544~3347511713 --> <meta-data android:name="com.google.android.gms.ads.APPLICATION_ID" android:value="[ADMOB_APP_ID]"/> </application>
答案 2 :(得分:6)
更新#2 2018/05/29
问题看起来是 fixed 现在已经消失了,我仍在使用相同的gradle配置。但是我前一段时间做了这些步骤我不确定这些是否做了什么,或者这是否是服务器端问题并且最近得到修复/更新。我刚刚注意到在执行以下步骤后问题已经消失:
在项目级gradle.build的
buildscript > repositories
和allprojects > repositories
中添加以下内容。
google()
maven { url 'http://jcenter.bintray.com' }
将google-services类路径更改为
classpath com.google.gms:google-services:4.0.1'
- 醇>
将项目与Gradle文件同步
更新#1 2018/05/29
我通过在 app-level gradle中将我的firebase依赖项降级到~12.0.0来解决这个错误。但这将严重影响应用程序,仍在寻找更可行的解决方法。
apply plugin: 'com.android.application'
apply plugin: 'io.fabric'
...
compile 'com.google.firebase:firebase-core:12.0.0'
compile 'com.google.firebase:firebase-database:12.0.0'
compile 'com.google.firebase:firebase-storage:12.0.0'
compile 'com.google.firebase:firebase-auth:12.0.0'
compile 'com.google.firebase:firebase-crash:12.0.0'
...
同样,我遇到过@SimbaClaws描述的相同问题。在我昨天遇到同样的问题之前,一切都在顺利进行。
我的项目级 build.gradle
中包含以下代码
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
jcenter()
maven {
url 'https://maven.fabric.io/public'
}
}
dependencies {
classpath 'com.android.tools.build:gradle:2.3.3'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
//classpath 'com.google.gms:google-services:3.0.0'
classpath 'com.google.gms:google-services:3.2.1'
classpath 'io.fabric.tools:gradle:1.25.1'
}
}
allprojects {
repositories {
jcenter()
maven {
url 'https://maven.google.com/'
}
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
app-level build.gradle
的以下代码
apply plugin: 'com.android.application'
apply plugin: 'io.fabric'
android {
compileSdkVersion 26
buildToolsVersion "26.0.1"
defaultConfig {
applicationId "my.secret.application"
minSdkVersion 16 // 19
targetSdkVersion 26
versionCode 1
versionName "5.0.204"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.google.firebase:firebase-core:15.0.2'
compile 'com.google.firebase:firebase-database:15.0.0'
compile 'com.google.firebase:firebase-storage:15.0.2'
compile 'com.google.firebase:firebase-auth:15.1.0'
compile 'com.google.firebase:firebase-crash:15.0.2'
compile 'com.android.support:appcompat-v7:26.+'
compile 'com.android.support:design:26.+'
compile 'com.android.support:recyclerview-v7:26.+'
compile 'com.android.support.constraint:constraint-layout:1.0.2'
compile 'de.hdodenhof:circleimageview:2.2.0'
compile 'com.android.support:palette-v7:26.+'
compile 'com.android.support:support-v4:26.+'
compile 'com.android.support:cardview-v7:26.+'
compile 'com.github.bumptech.glide:glide:3.7.0'
compile 'org.greenrobot:eventbus:3.1.1'
testCompile 'junit:junit:4.12'
compile 'com.crashlytics.sdk.android:crashlytics:2.9.1'
}
apply plugin: 'com.google.gms.google-services'
任何人都可以建议我是否遗漏了什么?我还在寻找可能的解决方法和答案。 TIA!
答案 3 :(得分:2)
有同样的问题,对我来说,这里提到的答案都没有用。因此,我只是更新了gradle文件中的依赖项,无论哪个依赖项具有com.google.gms :(将它们保留在相同的版本示例16.0.0中)
答案 4 :(得分:1)
我也遇到了这个问题。我发现的根本原因是构建Gradle版本不一致。 在Gradle Scripts信息库中,“如果我可以这样称呼”,有两个build gradle模块。 build.gradle(项目:应用名称)和build.gradle(模块:app)。确保依赖项中的类路径'com.android.tools.build:gradle:3.2.1'正在使用该工具的最新版本。不一致会导致构建问题。
答案 5 :(得分:0)
就我而言,刚刚添加www
的网址在开始为我添加url "https://jitpack.io/"
之后就像www
。在其他存储库中,也请尝试添加显式URL。
maven {
url "https://www.jitpack.io/"
}