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

Moh*_*ANE 152 android build gradle circleci android-studio

我将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:
Run Code Online (Sandbox Code Playgroud)

当前的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
Run Code Online (Sandbox Code Playgroud)

编辑:我的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
}
Run Code Online (Sandbox Code Playgroud)

mtr*_*kal 330

谷歌有新的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.
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 你不应该添加`mavenCentral()`.因为`jcenter()`足够了:https://www.jfrog.com/knowledge-base/why-should-i-use-jcenter-over-maven-central/ https://blog.bintray.com/ 2015/02/09 /机器人工作室迁移从 - 行家-中央到jcenter / (4认同)
  • 如果您运行介绍约束错误使用添加这些:mavenCentral() jcenter() maven { url 'https://maven.google.com' } (2认同)
  • @Parker我正在使用**Android Studio 3.0 - Canary Channel**.这是**顶级`build.gradle`类路径**`com.android.tools.build:gradle:3.0.0-alpha4`,按原样复制.请注意,上周更新后它现在是**alpha4** (2认同)

tir*_*r38 96

对于东西通过命令行编译我需要包括在BOTH行家回购buildscriptallprojects.

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' }
    }
}
Run Code Online (Sandbox Code Playgroud)

buildscript块中需要找到AGP,并在allprojects块中查找android.archcom.android.databinding打包(和其他)

更新:看起来刚刚调用了新的repo,google()但我仍然需要在两个地方声明它.

  • 注意更新:*需要在两个地方声明它*是我的解决方案,存储库和所有项目 (5认同)
  • maven { url 'https://maven.google.com' } 当我放置它时,它对我有用 (2认同)

Gen*_*Jam 31

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

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

  } }
Run Code Online (Sandbox Code Playgroud)

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

  • 我有`repositories {jcenter()google()}`,但无法正常工作...将顺序反转为`repositories {google()jcenter()}`解决了问题 (2认同)

NOT*_*iFY 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()
    }
}
Run Code Online (Sandbox Code Playgroud)

然后它会自动升级到alpha2.

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

档案| 使高速缓存/重新启动无效

选择'无效并重新启动'


A1G*_*ard 13

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

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


小智 7

我这样做了:

点击SDk Manager:

在此输入图像描述

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

在此输入图像描述

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

在此输入图像描述

进入gradle/build.gradle并更改依赖关系classpath'com.android.tools.build:gradle:3.0.0-alpha7':

在此输入图像描述

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


Sub*_*ure 5

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

maven { url 'https://maven.google.com' }
Run Code Online (Sandbox Code Playgroud)

我上面提到了完全相同的错误,一旦我添加了这个条目一切正常.