找不到游戏服务地下室

昨天我尝试构建我的应用程序,一切都运行良好。

今天,项目没有任何变化... ... 突然之间,我收到一条警告信息,告诉我:

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? 这会不会是变数命名原则或者级别的问题?

39597 次浏览

更新 # 22018/05/29

这个问题看起来是 修好了现在消失了,我仍然使用相同的级配置。但是我在不久前做了这些步骤,我不确定这些步骤是否起了作用,或者这是否是服务器端的问题,它最近得到了修复/更新。我只是注意到这个问题在我做了以下步骤之后就消失了:

  1. 在项目级 gradle.build 的 buildscript > repositoriesallprojects > repositories中添加以下内容。

    • google()
    • maven { url 'http://jcenter.bintray.com' }
  2. 将 google-services 类路径更改为 < br > classpath com.google.gms:google-services:4.0.1'

  3. 用分级文件同步项目



更新 # 12018/05/29

我通过在 应用程序级级别中将对 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'
...




同样,我也经历过@SimbaClaw 所描述的同样的问题。一切都进行得很顺利,直到我昨天遇到同样的问题。

我的 项目层面编码中有以下代码,




// 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
}



以下是 应用程序级 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!

Jcenter ()已经有了一些库的镜像(我猜他们是有意这样做的) ,这些库最初应该通过 google ()或者 maven ()存储库提供。当 gradle build 工作时,对于任何在项目中使用的库来说,首先要查找的是 repositories {..中首先列出的库。当 jcenter ()镜像没有发布版本(例如 com.google.android.gms: play-services-ads: 15.0.1 for my case)时,你的 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()
}
}

这太疯狂了!我也面临同样的问题。这些构建工作得很好,然后突然开始出现同样的问题。我尝试了上面的建议,但它对我不起作用。最后,这对我有效:

更新最新的火力基地依赖关系:

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,必须在 Manifest 文件中添加以下内容,否则应用程序在打开时会崩溃。

<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>

有同样的问题,对我来说,这里提到的答案都不管用。因此,我只是更新了 gradle 文件中的依赖项,无论哪个依赖项具有 com.google.gms: (将它们保留在相同的版本示例16.0.0中)

我也经历过这样的问题。根本原因,我发现是有不一致的构建 Gradle 版本。 在 Gradle Scripts 存储库中,“如果我可以这样称呼它的话”,有两个构建 Gradle 模块。Gradle (项目: 应用程序名称)和 build.gradle (模块: app)。确保依赖项中的类路径‘ com.android.tools.build: gradle: 3.2.1’使用的是该工具的最新版本。不一致会导致构建出现问题。

在我的情况下,刚刚添加了 www早期的网址就像 url "https://jitpack.io/"后,这增加了 www开始为我工作。在其他存储库中也尝试添加显式 URL。

maven {
url "https://www.jitpack.io/"
}