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

Could not find com.android.tools.build:gradle:3.0.0-alpha1 in circle ci

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

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

确保在顶级 build.gradle 中添加以下行,这应该可以解决问题。

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

我遇到了与您上面提到的完全相同的错误,添加此条目后一切正常。

更新: 令人难以置信的沮丧,但是 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' 存储库提供服务,但该站点目前在该位置 404s,否则,作为 public 目录,您d 只需在浏览器中导航到该位置,即可查看所有可用文件的树状列表。当他们解决中断问题时,您的 CI 构建应该会立即通过。

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.

使缓存无效并重新启动一切正常。

文件 |使缓存无效/重新启动

选择'Invalidate & Restart'

对于通过命令行编译的东西,我需要在 buildscriptallprojects.

中包含 maven 存储库

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

更新: 看起来新的 repo 只是被称为 google() 但我仍然需要在两个地方声明它。

我这样做了:

单击 SDK 管理器:

Canary Channel 更新中的变化,检查并更新它...

进入build.gradle后修改编译版本为26.0.0-beta2:

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

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

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

它提到我们需要

  1. 将 Gradle 版本更新为 gradle-4.1-all(将 gradle-wrapper.properties 更改为 distributionUrl=\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

要同步此处和其他地方的所有答案:

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

  } }

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

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 > Help Menu > Submit Feedback 将我带到错误跟踪器。

androiddev reddit 找到了针对 3.1.0-beta1 问题的临时解决方案:要么回滚到 Preview Canary 8,要么切换到 gradle 插件 3.0.1,直到 Canary 10 很快发布。

我的问题是我忘记了我在 C:\Users\(current user)\.gradle 中的 gradle.properties 中添加了一个代理,例如:

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

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

对我来说,我通过在存储库中添加这一行解决了这个错误

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

只需添加这个

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

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

有效...欢呼!!!

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

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

我的免费建议是简单地在 /build.gradle 中添加 mavenCentral()google(),或者其中之一 google 如何在官方页面上提供建议。应该是这样的:

allprojects {
...
    repositories {
        mavenCentral()
        ...
        google()
    }
...
}