Android CI构建:找不到aapt2-proto.jar

时间:2018-10-23 08:22:51

标签: android android-studio continuous-integration jcenter

我在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()
}

3 个答案:

答案 0 :(得分:69)

尝试将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

答案 1 :(得分:22)

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

答案 2 :(得分:0)

更新Gradle版本

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

gradle-wrapper.properties内部的yourProject/gradle/wrapper中更新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版本<3.0

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()
}