找不到 play-services-basement.aar
Posted
技术标签:
【中文标题】找不到 play-services-basement.aar【英文标题】:Could not find play-services-basement.aar 【发布时间】:2018-11-06 20:56:24 【问题描述】:昨天我尝试构建我的应用程序,一切正常。
今天,没有对项目进行任何更改...突然间,我收到了一条警告消息,告诉我:
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 问题?
【问题讨论】:
Ionic3 Build-Error: Could not find play-services-auth-base.aar (15.0.1)的可能重复 【参考方案1】:在我的情况下,刚刚添加 www
之前的 url 就像 url "https://jitpack.io/"
之后添加的 www
开始为我工作。在其他存储库中也尝试添加显式 URL。
maven
url "https://www.jitpack.io/"
【讨论】:
【参考方案2】:我也遇到过这个问题。我发现根本原因是构建 Gradle 版本不一致。 在 Gradle Scripts 存储库“如果我可以这样称呼它”中,有两个构建 gradle 模块。 build.gradle(项目:应用名称)和 build.gradle(模块:app)。确保依赖项中的类路径 'com.android.tools.build:gradle:3.2.1' 使用的是最新且相同版本的工具。不一致会导致构建出现问题。
【讨论】:
【参考方案3】:有同样的问题,对我来说,这里提到的答案都不起作用。所以我只是更新了 gradle 文件中的依赖项,并且无论哪个依赖项都有 com.google.gms:(将它们保持在相同的版本示例 16.0.0)
【讨论】:
【参考方案4】:这太疯狂了!!!我遇到了同样的问题。构建工作正常,然后突然开始因同样的问题而失败。我尝试了上面的建议,但它对我不起作用。最后,这对我有用:
更新到最新的 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,必须在 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 依赖项,并且有一个更新的版本可用。将它们更改为最新版本,并且可以正常工作。 我必须更新所有 firebase 依赖项才能成功构建。 这似乎是“当前”的正确答案。在许多情况下,接受重新排序的答案似乎并不重要。【参考方案5】:jcenter() 有一些库的镜像(我猜他们是故意这样做的),这些库最初应该可以通过 google() 或 maven() 存储库获得。当 gradle build 工作时,对于项目中使用的任何库,首先要查找的是 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()
【讨论】:
这解决了我更新到“com.google.gms:google-services:4.0.1”后“找不到...aar”文件的问题。每次我尝试更新此版本或 Play 服务版本时,我似乎都会遇到这种晦涩难懂且令人沮丧的问题。感谢您结束 3 小时的搜寻来解决此问题! 说 jcenter 在 cradle 文件中排名最后是拯救我的生命 :) 这个问题突然发生在我身上,非常感谢您的解决方案帮助,只是将 jcenter() 更改为最后一个。 刚刚遇到这个问题。 谢谢。项目工作正常,突然我遇到了同样的问题。将 jcenter() 放在最后一个解决了这个问题。【参考方案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
应用级 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'
如果我错过了什么,谁能告诉我?我还在四处寻找可能的解决方法和答案。蒂亚!
【讨论】:
以上是关于找不到 play-services-basement.aar的主要内容,如果未能解决你的问题,请参考以下文章