31

看到这个链接(我怀疑)有 POM 文件,没有 jar。

重要笔记:

  • 我正在使用最新版本的 react native ... v0.57.3 以及最新版本的 react-native-cli ... v2.0.1。
  • 我的计算机中安装了 Java 11。
  • 我此时正在使用最新的 gradle 版本... v4.10.2
  • 我正在使用 Mac OSX Mojave

分发网址是:

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

这是错误

FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring root project 'AwesomePlacesApp'.
> 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
4

7 回答 7

49

Google 的 maven 存储库中似乎提供了 AAPT2(Android 资产打包工具 2)。

您需要在 build.gradle 文件的存储库下包含google() ,如下所示:

buildscript {
  repositories {
      google() // here
      jcenter()
  }
  dependencies {
      classpath 'com.android.tools.build:gradle:3.2.0-alpha12'
  }
} 
allprojects {
  repositories {
      google() // and here
      jcenter()
}

请查看此链接以获取更多详细信息。

注意:顺序也很重要,如果 jcenter() 高于 google() 它会失败。

于 2018-10-23T09:07:28.910 回答
15

这似乎是一个 jCenter 问题。在问题得到解决之前,您可以暂时将 Android Gradle 插件版本更改为3.1.0build.gradle文件内:


    dependencies {
        classpath 'com.android.tools.build:gradle:3.1.0'
        // other imports here...
    }

于 2018-10-23T09:38:50.057 回答
3

我改变了这个文件的顺序:android/build.gradle

对我来说,正在处理这个订单:

buildscript {
    ext {
        buildToolsVersion = "27.0.3"
        minSdkVersion = 16
        compileSdkVersion = 27
        targetSdkVersion = 26
        supportLibVersion = "27.1.1"
    }
    repositories {
        google()        
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.2.1'
    }
}

allprojects {
    repositories {
        mavenLocal()
        google()
        jcenter()
        maven {
          url "$rootDir/../node_modules/react-native/android"
        }        
    }
}

task wrapper(type: Wrapper) {
    gradleVersion = '4.4'
    distributionUrl = distributionUrl.replace("bin", "all")
}
于 2018-10-24T13:52:38.890 回答
2

这个问题的答案在 build.gradle 中更改 google() 的位置并将其放在第一位:这是以前的情况,如果您没有 google() 将其添加为 buildscript 中的第一个:

buildscript {
       repositories {
                  jcenter()
                  google()
}

改成,

buildscript {
       repositories {
               google()
               jcenter()
}
于 2019-01-21T09:15:50.343 回答
1

项目->打开模块设置->“项目结构-项目”

检查您的Android Plugin RepositoryDefault Library Repository

注意: google(), jcenter - 它在我的项目中的默认值。

在此处输入图像描述

于 2018-10-25T14:21:54.167 回答
0

对我来说,在 gradle 更新后解决了问题,请注意,即使将 google() 添加到存储库,我也遇到了问题

于 2019-12-25T11:48:44.110 回答
0

您必须将 google() 添加到 build.gradle 文件中的存储库并将其放在第一个位置

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

就我而言,问题是存储库顺序。

于 2018-10-30T17:44:00.497 回答