Com.android.tools.build:aapt2:3.2.0 konnte nicht gefunden werden


104

AndroidStudio3.2 Canary14 schlägt beim Reinigen und Wiederherstellen mit dem folgenden Fehler fehl

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

Antworten:


238

Ab Android Studio 3.2 Canary 11 ist die Quelle für AAPT2 (Android Asset Packaging Tool 2) das Maven-Repository von Google.

Um AAPT2 zu verwenden, stellen Sie sicher, dass Ihre build.gradle-Datei eine google () - Abhängigkeit aufweist, wie hier gezeigt:

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

Die neue Version von AAPT2 behebt viele Probleme, einschließlich der verbesserten Behandlung von Nicht-ASCII-Zeichen unter Windows.

Das Hinzufügen der Repositorys in das buildscriptist nicht ausreichend, Sie müssen es auch in hinzufügenallprojects .

Quelle: https://developer.android.com/studio/releases/#aapt2_gmaven


30
Das hat es für mich behoben - ich hatte google()in buildscriptRepos, aber nicht in allprojectsRepos. Herzlichen Dank.
LarsH

1
Danke dir! Es ist so eine einfache Lösung. Es stellt sich die Frage, warum die Fehlermeldung so kryptisch sein muss, dass die empfohlene Aktion nicht standardmäßig enthalten war
Antony

3
Die Antwort von LarsH hat geholfen. Ein weiterer Punkt ist, dass google () auch über anderen vorhanden sein sollte. Bestellen Sie auch Matters hier.
Reejesh PK

Ist es auch möglich, das Projekt ohne google()Abhängigkeit zu erstellen ?
white_gecko

Sie könnten das Artefakt von maven herunterladen und in Ihr Offline-Repository stellen, wenn Sie wirklich wollten
Izabela Orlowska

41

Eröffnen Sie ein sehr altes Projekt? Wenn ja, stellen Sie sicher, dass build.gradle Ihrer App Folgendes enthält:

apply plugin: 'com.android.application'

repositories {
    google()
    jcenter()
} 

(Das hat es sowieso für mich gelöst)


Der wichtige Teil ist die Repository-Abhängigkeit von "google ()".
Izabela Orlowska

11
Für mich war es die Bestellung. Ich hatte, google()aber es war unten in der Liste der Repos. Das Problem wurde behoben, indem es oben in die Liste der Repos verschoben wurde.
Hesekiel Sebastine

Dies sollte akzeptiert werden ... (zumindest zum Öffnen alter Projekte) ... das Schlüssel-Repository war google () und kann entweder in build.gradle der App oder vielmehr in build.gradle des Projekts unter allprojects> repositories, wo jcenter, abgelegt werden () in der Regel ist bereits
Lukáš Řádek

19

Fügen Sie einfach google()auf Ihrem buidscript und allprojects dann das Projekt neu.

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

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

Danke für die Hilfe. Das Hinzufügen aller Projekte löste das Problem
Haris Durrani

5

Aktualisieren Sie die Abhängigkeit der build.grade-Datei Ihrer App mit der aktualisierten Version von grade

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

Befolgen Sie den Vorschlag von Android Studio für die Version, auf die aktualisiert werden soll. Aktualisieren Sie Ihre App nach dem Klassenpfad und synchronisieren Sie sie erneut.

Nach all dem starten Sie Ihr Android Studio neu .


3

Ich behebe dieses Problem, indem ich die "DistributionUrl" in ändere android/gradle/gradle-wrapper.properties.

Der Standardwert war https\://services.gradle.org/distributions/gradle-4.10.2-all.zipund ich habe ihn geändert https\://services.gradle.org/distributions/gradle-5.4.1-all.zipund der Fehler ist verschwunden.


3

Ich hatte diese Fehlermeldung:

Aapt2-osx.jar konnte nicht heruntergeladen werden (com.android.tools.build:aapt2:3.5.0-5435860): Für den Offline-Modus ist keine zwischengespeicherte Version verfügbar

Selbst wenn ich alle notwendigen Abhängigkeiten für mein Projekt und die richtige Konfiguration in meinem build.gradle definiert hätte:

apply plugin: 'com.android.application'

repositories {
    google()
    jcenter()
} 

Der Fehler trat immer noch auf, aber diese Nachricht gab mir einen Hinweis darauf, was geschah:

Für den Offline-Modus ist keine zwischengespeicherte Version verfügbar

Als ich feststellte, dass ich offline arbeitete, müssen Sie den "Offline-Modus" deaktivieren, damit Android Studio die erforderlichen Ressourcen zum Erstellen des Projekts herunterladen kann .

Geben Sie hier die Bildbeschreibung ein

Wenn Ihr Projekt wieder funktioniert, können Sie erneut überprüfen, ob Sie offin arbeiten möchten.


3

Ich bin im Iran und das Google-Repository ist an meinem Standort eingeschränkt. Als ich meine IP in ein anderes Land geändert habe, wurde dieses Problem gelöst. Es scheint, dass Sie möglicherweise ein Problem mit der Internetverbindung haben, wenn dieser Fehler auftritt.


Eigentlich benutze ich VPN, aber das Problem erinnert mich immer noch und ich kann das Projekt nicht ausführen!
Nadia

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

Die Lösung ist ein vierstufiger Prozess.

  1. Ändern Sie den Klassenpfad in build.gradle in die gewünschte Version.
  2. Jetzt synchronisieren
  3. Nachdem alle Dateien heruntergeladen wurden, können Sie die neue löschen und die vorherige Version in Gradle hinzufügen.
  4. Jetzt synchronisieren

0

In meinem Fall konnte ich das Problem beheben, indem ich "Android SDK Build-Tools" auf die neueste Version aktualisierte.

Gehen Sie in Android Studio zu Tools -> SDK-Manager -> Registerkarte SDK-Tools auswählen -> Überprüfen Sie, ob ein Update für das Android SDK Build - Tools verfügbar ist (aktualisiert auf die neueste Version 30.0.0).

Geben Sie hier die Bildbeschreibung ein


-1

Sie müssen in: build.gradle () ein Band aufnehmen und google () eingeben. Diese Option wird im Abschnitt "Buildscript & Allproject" ausgeführt


1
Dies ist eher ein Kommentar als eine Antwort
sudo97

-2

Wenn google () nicht repariert wurde, dann Datei -> Einstellung -> Erstellen, Ausführen, Bereitstellen -> Gradle

Deaktivieren Sie dann Ofline Work, Done.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.