我有一个更大的Ionic3项目正在运行,并且自上次成功构建以来没有做任何更改。今天,我试图再次构建,得到错误:
Could not find play-services-auth-base.aar (com.google.android.gms:play-services-auth-base:15.0.1).
我无法弄清楚为什么会这样。 Cordova-platform是版本6.3.0。
到目前为止已完成的步骤:
已安装cordova-android-play-services-gradle-release
,其中15. +为版本期间的版本
已安装cordova-android-support-gradle-release
,其中27. +为构建期间的版本
在平台内操作gradle.build
,如其他stackoverflow-questions中所建议的那样。
也许将cordova更新为7.x也是一个选项,但我想避免它,因为多个cordova插件依赖。
代码:
allprojects {
repositories {
jcenter()
maven {
url "https://maven.google.com"
}
}
}
答案 0 :(得分:15)
jcenter()存储库目前存在问题。我想他们很快就会解决这个问题。
无论如何,对于大多数软件包,修复可能是在build.gradle文件的第一个位置添加google()存储库:
buildscript {
repositories {
google()
jcenter()
}
}
allprojects {
repositories {
google()
maven {
url "https://maven.google.com"
}
jcenter()
}
在jcenter()之前列出google()非常重要。
答案 1 :(得分:3)
如果您的应用不需要任何较新的Google API,请尝试在config.xml文件中指定较旧的Play服务版本。我使用11.6.2获得了成功的构建。任何更新的东西给了我相同的构建错误。
答案 2 :(得分:1)
根据这个:https://developer.android.com/topic/libraries/support-library/setup
如果您使用的Gradle版本低于4.1,则必须使用
maven { url 'maven.google.com'; }
而不是
google()
答案 3 :(得分:0)
据我所知,当Google或其他任何人将存储库“ google-cache”标记为“ blacked-out”时,也会发生此错误。然后,您将得到一个代表该错误的json字符串,而不是获取所需的库。似乎对于Android Studio而言,这足以说出“确定,找到了一个库条目,但不存在”的信息,因此构建将失败。 google()或maven()应该提供一个备份条目,但是因为jcenter()是列表中的第一个存储库,并且给出了请求gradle的“正确答案”,所以不会要求其他存储库提供解决方案。
@Manuel已经发布,只需将google()存储库放在项目build.gradle中的jcenter()之前。