【问题标题】:Android CI build: Could not find aapt2-proto.jarAndroid CI 构建:找不到 aapt2-proto.jar
【发布时间】:2019-03-27 09:56:38
【问题描述】:

我在 Bitbucket CI 服务器上构建失败:

> Could not resolve all artifacts for configuration ':classpath'.
   > Could not find aapt2-proto.jar (com.android.tools.build:aapt2-proto:0.3.1).
     Searched in the following locations:
         https://jcenter.bintray.com/com/android/tools/build/aapt2-proto/0.3.1/aapt2-proto-0.3.1.jar

我搜索了表明缺少 Google Maven 存储库的类似问题,但我并没有错过它。顶级构建文件:

buildscript {

    repositories {
        jcenter()
        google()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.2.1'
        classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
        classpath 'com.jakewharton:butterknife-gradle-plugin:8.8.0'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin"
    }
}

allprojects {
    repositories {
        google()
        jcenter()
        maven { url "https://jitpack.io" }
    }
}

还有我的应用级构建文件:

buildscript {
    repositories {
        maven { url 'https://maven.fabric.io/public' }
        google()
    }

    dependencies {
        classpath 'io.fabric.tools:gradle:1.26.1'
    }
}
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'io.fabric'

repositories {
    maven { url 'https://maven.fabric.io/public' }
    google()
    mavenCentral()
}

【问题讨论】:

标签: android android-studio continuous-integration jcenter


【解决方案1】:

尝试将google() 方法移动到其执行块的顶部。

也许是它搜索的存储库的顺序导致了问题。

例如,改变这个:

repositories {
  maven { url 'https://maven.fabric.io/public' }
  google() // from here
  mavenCentral()
}

到这里:

repositories {
  google() // to here
  maven { url 'https://maven.fabric.io/public' }
  mavenCentral()
}

如果这没有帮助,不要调用google() 方法,而是尝试将其更改为:

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

更新

如果以上所有方法都没有帮助 - 请确保您的 gradle 版本至少为 3.0.0

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

gradle-wrapper的版本至少是4.1

通常位于:project_name/gradle/wrapper/gradle-wrapper.properties

distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-all.zip

Source

【讨论】:

  • 配置根项目“XXXXXXXXXx”时出现问题。 > 无法解析配置“:classpath”的所有工件。 > 找不到 aapt2-proto.jar (com.android.tools.build:aapt2-proto:0.3.1)。在以下位置搜索:plugins.gradle.org/m2/com/android/tools/build/aapt2-proto/0.3.1/…
  • 这与将 gradle 包装器版本升级到 4.10.2 相结合对我有用
  • 在 maven 和 jcenter 在 Android Studio 3.2.1 上为我解决它之前,将 google() 移动到最顶端。
【解决方案2】:

将 Gradle 包装器(在 gradle-wrapper.properties 中)升级到 gradle-4.10.2-all.zip 解决了我的问题。

【讨论】:

  • 从 gradle wrapper 版本 4.6 升级到 4.10.2 对我有用!
  • 升级 Gradle 有效,但也必须将 kotlin-stdlib-common 更新为 1.3.0-rc-198(之前为 131)。
  • 升级包装器版本给出 --- 无法解决:org.jetbrains.kotlin:kotlin-stdlib-common:1.3.0-rc-131 --- 错误。如何解决这个问题
【解决方案3】:

更新 Gradle 版本

您可以从 android gradle release page 检查您的 gradle 插件的兼容版本。

更新位于yourProject/gradle/wrapper内的gradle-wrapper.properties中的gradle版本

distributionUrl=https\://services.gradle.org/distributions/gradle-4.4.0-all.zip
Plugin version  Required Gradle version

   2.3.0+             3.3+
   3.0.0+             4.1+
   3.1.0+             4.4+

请注意,顺序很重要。 google() 应该是任何插件仓库的顶部。

适用于 Android Studio 版本 > 3.0

buildscript {
  repositories {
      google() // move it to top
      jcenter()
  }
  dependencies {
      classpath 'com.android.tools.build:gradle:3.2.1' // your Android Studio Version
  }
} 
allprojects {
  repositories {
      google() // move it to top
      jcenter()
}

从 Android Studio 3.0 或更高版本开始需要google() 插件。

适用于 Android Studio 版本
buildscript {
  repositories {
      maven {
       url 'https://maven.google.com/'
       name 'Google'
      }
      jcenter()
  }
  dependencies {
      classpath 'com.android.tools.build:gradle:2.3.0' // your Android Studio Version
  }
} 
allprojects {
  repositories {
      maven {
       url 'https://maven.google.com/'
       name 'Google'
      }
      jcenter()
}

【讨论】:

    猜你喜欢
    • 2019-03-27
    • 2019-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-29
    • 2017-11-21
    相关资源
    最近更新 更多