在圆ci中找不到com.android.tools.build:gradle:3.0.0-alpha1


157

我将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:

当前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
}

Answers:


342

Google有新的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回购的依赖:

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.6.3'  //Minimum supported Gradle version is 4.6.
    }
}

1
如果您运行介绍性约束错误,请添加以下内容:mavenCentral()jcenter()maven { url'maven.google.com '}
Mohamed ALOUANE

4
您不需要添加mavenCentral()。由于jcenter()shoudl已经足够了:jfrog.com/knowledge-base/... blog.bintray.com/2015/02/09/...
mtrakal

我将maven { url'maven.google.com '} 添加到gradle脚本中,并进行构建。我收到此错误:Gradle同步失败:无法路由到主机如何解决此问题
yuchangfu

尝试在浏览器中打开网站:maven.google.com,您会发现它们似乎有错误/停机时间:/
mtrakal

2
@Parker我正在使用Android Studio 3.0-Canary Channel。这是按原样复制的顶级build.gradle类路径 com.android.tools.build:gradle:3.0.0-alpha4。请注意,上周更新后,它现在是alpha4
sud007

99

为了通过命令行进行编译,我需要在buildscript和和中都包含Maven repo allprojects

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.archcom.android.databinding打包(以及其他)

更新:看起来好像刚刚调用了新的仓库,google()但是我仍然需要在两个地方都声明它。


5
请注意更新:在两个地方都需要声明它是我,存储库和所有项目的解决方案
Ultimo_m

maven { url'maven.google.com '}当我放置它时,它对我有用
Faisal Ashraf

31

要同步此处和其他位置的所有答案:

buildscript {
  repositories {
    google() 
    jcenter()
  }
  dependencies {
    classpath 'com.android.tools.build:gradle:3.0.0'

  } }

使您的buildscript在build.gradle中看起来像这样。它会在google和jcenter之间找到所有它们。截至此答案,其中只有一个不会找到所有依赖项。


我也必须将其添加到中allprojectsandroid/gradlew --stop在再次尝试之前运行。然后它起作用了。
Wayferer '17

2
我不得不repositories { jcenter() google() }和它不工作...反向排序来 repositories { google() jcenter() }解决了这一问题

15

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。

使缓存无效并重新启动一切都很好。

档案| 无效的缓存/重启

选择“无效并重新启动”


8

我这样做:

点击SDk Manager:

在此处输入图片说明

更改对Canary Channel的更新,检查并更新...

在此处输入图片说明

进入build.gradle并将编译版本更改为26.0.0-beta2之后:

在此处输入图片说明

在进入gradle / build.gradle并更改依赖项类路径'com.android.tools.build:gradle:3.0.0-alpha7'后:

在此处输入图片说明

同步项目后...对我有用!我希望我有所帮助... tks!


6

确保在顶级build.gradle中添加以下行,并且应该对其进行修复。

maven { url 'https://maven.google.com' }

添加完此条目后,我得到了与上述完全相同的错误。


尝试并得到了这个:>找不到com.android.support.constraint:constraint-layout:1.0.2。
Mohamed ALOUANE

我认为如果发布您的app / build.gradle和build.gradle会有所帮助。也尝试使用File-> Invalidate Cache optionm restart android studio看看情况是否变好。
Subodh Nijsure's

2

更新:令人沮丧的是,但是maven.google.com仓库的Google重定向似乎与加载资源一团糟。如果改为将您的存储库设置 maven { url 'https://dl.google.com/dl/android/maven2' } 为文件,则可以解析。您可以通过尝试在3.0.0 Alpha上获得完全合格的资源来证明这一点https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/3.0.0-alpha1/gradle-3.0.0-alpha1.pom

这是因为当前gradle:3.0.0-alpha1仅通过新的'https://maven.google.com'存储库提供服务,但是该站点当前在该位置404,否则,作为公共目录,您只需在浏览器中导航到该位置,就会看到所有可用文件的树状列表。 。当他们解决中断后,您的配置项构建应立即通过。


存储库[ dl.google.com/dl/android/maven2]不再可用...
marciowb

2

对我来说,我只是通过在存储库中添加此行来解决此错误

maven { url 'https://maven.google.com' }

1

我在Google上找到了这个:https//developer.android.com/studio/build/gradle-plugin-3-0-0-migration.html

它提到我们需要

  1. 将Gradle版本更新为gradle-4.1-all(更改gradle-wrapper.propertiesdistributionUrl=\https\://services.gradle.org/distributions/gradle-4.1-all.zip
  2. 将google()添加到存储库repositories { google() }dependencies { classpath 'com.android.tools.build:gradle:3.0.0-beta7' }

您可能需要安装Android Studio 3


我不是拒绝投票的人,但这不能解决问题,因为在您实际迁移到新的gradle之后会发生此问题。
Kyrylo Zapylaiev

1

Android Studio(预览版)有时建议更新到尚不可用的Gradle插件(Google是否忘记发布它了?)。如今天

'com.android.tools.build:gradle:3.1.0-beta1'

我发现可以在此处看到com.android.tools.build:gradle的当前版本,然后我选择了最新版本:

https://dl.google.com/dl/android/maven2/index.html

我刚刚在Android Bug Tracker中发现了这个beta1 gradle错误。我还刚刚学习了Android Studio>帮助菜单>提交反馈,使我进入了错误跟踪器。

androiddev reddit上找到了针对3.1.0-beta1问题的临时解决方案:要么回滚到预览Canary 8,要么切换到gradle插件3.0.1,直到不久之后发布Canary 10。


1

对于伊朗人:我们需要使用代理VPN来构建应用。

原因:Google服务器的抵制导致您无法构建应用或升级需求。


0

我的问题是我忘gradle.propertiesC:\Users\(current user)\.gradle像这样添加代理:

systemProp.http.proxyHost=****
systemProp.http.proxyPort=8850

0

将android studio从3.2更新到3.3并测试每个我都没有用的答案时,我遇到了这个问题。最后,我启用了Maven存储库及其工作。

在此处输入图片说明


0

只需添加此

buildscript {
    repositories {
        ...
        google() 
        jcenter()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:3.3.0' 
    }
}

它的工作原理...干杯!!!

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.