我将gradle插件更新为最新版本:com.android.tools.build:gradle:3.0.0-alpha1
并发生此错误:
export TERM="dumb"
if [ -e ./gradlew ]; then ./gradlew test;else gradle test;fi
FAILURE: Build failed with an exception.
What went wrong:
A problem occurred configuring root project 'Android-app'. Could not
resolve all dependencies for configuration ':classpath'. Could not
find com.android.tools.build:gradle:3.0.0-alpha1. Searched in the
following locations:
https://jcenter.bintray.com/com/android/tools/build/gradle/3.0.0-alpha1/gradle-3.0.0-alpha1.pom
https://jcenter.bintray.com/com/android/tools/build/gradle/3.0.0-alpha1/gradle-3.0.0-alpha1.jar
Required by:
Current circle.yml
dependencies:
pre:
- mkdir -p $ANDROID_HOME"/licenses"
- echo $ANDROID_SDK_LICENSE > $ANDROID_HOME"/licenses/android-sdk-license"
- source environmentSetup.sh && get_android_sdk_25
cache_directories:
- /usr/local/android-sdk-linux
- ~/.android
- ~/.gradle
override:
- ./gradlew dependencies || true
test:
post:
- mkdir -p $CIRCLE_TEST_REPORTS/junit/
- find . -type f -regex ".*/target/surefire-reports/.*xml" -exec cp {} $CIRCLE_TEST_REPORTS/junit/ \;
machine:
java:
version: oraclejdk8
编辑: 我的gradle文件:
buildscript {
repositories {
jcenter()
maven {
url 'https://maven.google.com'
}
}
dependencies {
classpath 'com.android.tools.build:gradle:3.0.0-alpha1'
classpath 'com.google.gms:google-services:3.0.0'
classpath "io.realm:realm-gradle-plugin:3.1.3"
}
}
allprojects {
repositories {
mavenCentral()
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
答案 0 :(得分:321)
谷歌有新的maven回购,所以可能是原因。
https://android-developers.googleblog.com/2017/10/android-studio-30.html> Google的Maven资源库
https://developer.android.com/studio/preview/features/new-android-plugin-migration.html https://developer.android.com/studio/build/dependencies.html#google-maven
所以也许(未经测试)添加对maven repo的依赖:
buildscript {
repositories {
...
// You need to add the following repository to download the
// new plugin.
google() // new which replace https://maven.google.com
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.3.0' //Minimum supported Gradle version is 4.6.
}
}
答案 1 :(得分:92)
对于通过命令行编译的内容,我需要在两个buildscript
和allprojects
中包含maven repo。
root build.gradle
:
buildscript {
repositories {
jcenter()
maven { url 'https://maven.google.com' }
}
dependencies {
classpath 'com.android.tools.build:gradle:3.0.0-alpha2'
...
}
}
allprojects {
repositories {
jcenter()
maven { url 'https://maven.google.com' }
}
}
需要在buildscript
块中找到AGP,并在allprojects
块中查找android.arch
和com.android.databinding
个包(以及其他)
更新:
看起来新的repo只是被称为google()
,但我仍然需要在两个地方声明它。
答案 2 :(得分:31)
要在此处和其他地方同步所有答案:
buildscript { repositories { google() jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.0.0' } }
使build.gradle中的buildcript看起来像这样。它在google和jcenter之间找到所有这些。在这个答案中,只有其中一个人找不到所有的依赖关系。
答案 3 :(得分:14)
mtrakal的解决方案运行良好。
添加到gradle.build:
buildscript {
repositories {
maven { url 'https://maven.google.com' }
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.0.0-alpha2'
// NOTE: Do not place your application dependencies here;
// they belong in the individual module build.gradle files
}
}
allprojects {
repositories {
jcenter()
}
}
然后它会自动升级为alpha2。
使缓存无效并重新启动一切正常。
文件|使高速缓存/重新启动无效
选择'无效&重新启动'
答案 4 :(得分:7)
我这样做了:
点击SDk Manager:
更改Canary频道的更新,检查并更新...
进入build.gradle并将编译版本更改为26.0.0-beta2:
进入gradle / build.gradle并更改依赖关系classpath'com.android.tools.build:gradle:3.0.0-alpha7':
同步项目后...... 它对我有用! 我希望我帮助过... tks!
答案 5 :(得分:6)
对于伊朗的用户:我们需要使用代理或 VPN 来构建应用。
原因:Google服务器的抵制导致您无法构建应用或升级需求。
答案 6 :(得分:5)
确保在顶级build.gradle中添加以下行,并且应该修复它。
maven { url 'https://maven.google.com' }
我在上面提到了完全相同的错误,一旦我添加了这个条目,一切正常。
答案 7 :(得分:2)
更新:令人难以置信的令人沮丧,但maven.google.com
回购的Google重定向似乎与加载资源混乱。如果您改为将存储库设置为
maven { url 'https://dl.google.com/dl/android/maven2' }
文件将解决。您可以尝试通过https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/3.0.0-alpha1/gradle-3.0.0-alpha1.pom
3.0.0 Alpha
这是因为目前gradle:3.0.0-alpha1
仅通过新的'https://maven.google.com'
存储库提供,但该网站目前在该位置为404,否则,作为公共目录,您将看到一棵树只需导航到浏览器中的该位置即可列出所有可用文件。当他们解决他们的中断时,您的CI构建应立即通过。
答案 8 :(得分:1)
我在谷歌找到了这个:https://developer.android.com/studio/build/gradle-plugin-3-0-0-migration.html
它提到我们需要
gradle-wrapper.properties
distributionUrl=\https\://services.gradle.org/distributions/gradle-4.1-all.zip
repositories { google() }
和dependencies { classpath 'com.android.tools.build:gradle:3.0.0-beta7' }
您可能需要安装Android Studio 3
答案 9 :(得分:1)
Android Studio(预览版)有时会建议更新为尚未提供的Gradle插件(谷歌是否忘记发布它?)。比如今天用
' com.android.tools.build:gradle这个:3.1.0-β1'
我发现我可以在这里看到com.android.tools.build:gradle的当前版本,然后我选择最新版本:
https://dl.google.com/dl/android/maven2/index.html
我刚在Android Bug Tracker找到了这个beta1 gradle bug。我刚刚学习了Android Studio>帮助菜单>提交反馈意见将我带到了bug跟踪器。
在androiddev reddit找到3.1.0-beta1问题的临时解决方案:回滚到预览Canary 8,或切换到gradle插件3.0.1,直到很快发布Canary 10。
答案 10 :(得分:1)
对我来说,我只是通过在存储库中添加此行来解决此错误
maven { url 'https://maven.google.com' }
答案 11 :(得分:0)
我的问题是我忘记在gradle.properties
的{{1}}中添加了一个代理,如:
C:\Users\(current user)\.gradle
答案 12 :(得分:0)
答案 13 :(得分:0)
只需添加此
buildscript {
repositories {
...
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.3.0'
}
}
有效...干杯!!!