找不到com.android.tools.build:aapt2:3.2.0


104

AndroidStudio3.2 Canary14清除并重建失败,并显示以下错误

Could not find com.android.tools.build:aapt2:3.2.0-alpha14-4748712.
Searched in the following locations:
    file:~/Library/Android/sdk/extras/m2repository/com/android/tools/build/aapt2/3.2.0-alpha14-4748712/aapt2-3.2.0-alpha14-4748712.pom
    file:~/Library/Android/sdk/extras/m2repository/com/android/tools/build/aapt2/3.2.0-alpha14-4748712/aapt2-3.2.0-alpha14-4748712-osx.jar
    file:~/Library/Android/sdk/extras/google/m2repository/com/android/tools/build/aapt2/3.2.0-alpha14-4748712/aapt2-3.2.0-alpha14-4748712.pom
    file:~/Library/Android/sdk/extras/google/m2repository/com/android/tools/build/aapt2/3.2.0-alpha14-4748712/aapt2-3.2.0-alpha14-4748712-osx.jar
    file:~/Library/Android/sdk/extras/android/m2repository/com/android/tools/build/aapt2/3.2.0-alpha14-4748712/aapt2-3.2.0-alpha14-4748712.pom
    file:~/Library/Android/sdk/extras/android/m2repository/com/android/tools/build/aapt2/3.2.0-alpha14-4748712/aapt2-3.2.0-alpha14-4748712-osx.jar
    https://jcenter.bintray.com/com/android/tools/build/aapt2/3.2.0-alpha14-4748712/aapt2-3.2.0-alpha14-4748712.pom
    https://jcenter.bintray.com/com/android/tools/build/aapt2/3.2.0-alpha14-4748712/aapt2-3.2.0-alpha14-4748712-osx.jar
Required by:
    project :app

Answers:


238

从Android Studio 3.2 Canary 11开始,AAPT2(Android资产打包工具2)的来源是Google的Maven存储库。

要使用AAPT2,请确保您的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()
  }
}

新版本的AAPT2解决了许多问题,包括在Windows上改进了对非ASCII字符的处理。

在中添加存储库buildscript是不够的,您还需要在中添加存储库allprojects

来源:https : //developer.android.com/studio/releases/#aapt2_gmaven


30
这个固定为我-我必须google()buildscript回购而不是在allprojects回购协议。多谢。
LarsH

1
谢谢!这是一个简单的修复。这就引出了一个问题,即为什么错误消息必须如此神秘,以至于默认情况下不包括建议的操作
安东尼

3
LarsH的回答有所帮助,还有一点是,google()也应该出现在其他顶部。也可以在这里订购。
Reejesh PK

是否也可以在没有google()依赖项的情况下构建项目?
white_gecko

如果您确实愿意,可以从Maven下载工件并将其放入脱机存储库中
Izabela Orlowska

41

您要打开一个非常老的项目吗?如果是这样,请确保您的应用程序的build.gradle具有:

apply plugin: 'com.android.application'

repositories {
    google()
    jcenter()
} 

(那反正为我解决了)


重要的部分是“ google()”存储库依赖项。
伊莎贝拉(Izabela Orlowska)'18年

11
对我来说是命令。我有,google()但是它不在回购清单中。将其移至存储库列表顶部可解决此问题。
以西结·塞巴汀

这应该被接受...(至少用于打开旧项目)...关键存储库是google(),可以将其放置在应用程序的build.gradle中,或者放置在allprojects>存储库下的project build.gradle中,其中jcenter ()通常已经是
卢卡斯拉德克

19

只需添加google()您的buidscript和allprojects,然后重建项目即可。

buildscript {
    repositories {
        google() // `enter code here`
    }
 }

allprojects {
    repositories {
        google() // `<-- here`
    }
}

感谢您的帮助。添加所有项目解决了问题
Haris Durrani

5

使用Grade的更新版本更新您应用的build.grade文件依赖性

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

按照android studio的版本更新建议。在更新您的成绩类路径并重新同步您的应用之后。

完成所有这些后,重新启动android studio


3

我通过更改中的“ distributionUrl”来解决此问题android/gradle/gradle-wrapper.properties

默认值为https\://services.gradle.org/distributions/gradle-4.10.2-all.zip,我将其更改为https\://services.gradle.org/distributions/gradle-5.4.1-all.zip,错误消失了。


3

我收到此错误消息:

无法下载aapt2-osx.jar(com.android.tools.build:aapt2:3.5.0-5435860):无缓存版本可用于离线模式

即使我已经为proyect定义了所有必要的依赖关系,并且在build.gradle中配置了正确的配置:

apply plugin: 'com.android.application'

repositories {
    google()
    jcenter()
} 

该错误仍在发生,但是此消息使我对正在发生的事情有一个线索:

没有可用于离线模式的缓存版本

因此,我发现我正在离线工作,您需要取消选中“离线模式”,然后Android Studio将能够下载必要的资源来创建项目

在此处输入图片说明

当您的项目再次运行时,您可以再次检查是否可以离线运行。


3

我在伊朗,并且Google存储库在我的位置受到限制。当我将IP更改为另一个国家时,此问题得以解决。发生此错误时,您似乎有Internet连接问题。


实际上我正在使用vpn,但问题仍然提醒我,我无法运行该项目!
纳迪亚

1
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
    repositories {
        jcenter()
        google()  //导入旧版本项目时,一般来说该处依赖会在更改classpath中gradle版本是自动添加
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.3.0'
        classpath 'com.google.gms:google-services:3.0.0'
    }
}

allprojects {
    repositories {
       /*
        解决报错:Could not find com.android.tools.build:aapt2:3.3.0-5013011.
        Beginning with Android Studio 3.2 Canary 11, the source for AAPT2 (Android Asset Packaging Tool 2) is Google's Maven repository.
        To use AAPT2, make sure that you have a google() dependency in your build.gradle file, as shown here:
        */
        google() //但是此处不会,需要自主添加
        jcenter()
    }
}


0

解决方案分为四个步骤,

  1. 将build.gradle中的类路径更改为所需的版本。
  2. 立即同步
  3. 下载所有文件后,您可以删除新文件并在Gradle中添加以前的版本。
  4. 立即同步

0

就我而言,我可以通过将“ Android SDK Build-Tools”更新到最新版本来解决。

在Android Studio中,转到工具-> SDK管理器->选择SDK工具选项卡->检查是否有可用于Android SDK构建-工具的更新(已更新至最新的v30.0.0)。

在此处输入图片说明


-1

您需要在以下位置进行录音:build.gradle()并键入google(),此选项在buildscript和allproject部分中进行


1
这更多的是评论,而不是答案
sudo97

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.