Nie można znaleźć com.android.tools.build:aapt2:3.2.0

105

AndroidStudio3.2 Canary14 kończy się niepowodzeniem czyszczenia i odbudowy z powodu następującego błędu

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
Arunabh Das
źródło

Odpowiedzi:

239

Począwszy od Android Studio 3.2 Canary 11, źródłem AAPT2 (Android Asset Packaging Tool 2) jest repozytorium Google Maven.

Aby korzystać z AAPT2, upewnij się, że masz zależność Google () w pliku build.gradle, jak pokazano tutaj:

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

Nowa wersja AAPT2 rozwiązuje wiele problemów, w tym ulepszoną obsługę znaków spoza zestawu ASCII w systemie Windows.

Dodanie repozytoriów w formacie buildscriptnie wystarczy, musisz dodać je również w allprojects.

Źródło: https://developer.android.com/studio/releases/#aapt2_gmaven

Izabela Orłowska
źródło
30
To naprawiło to dla mnie - miałem google()w buildscriptrepozytoriach, ale nie w allprojectsrepozytoriach. Bardzo zobowiązany.
LarsH,
1
Dziękuję Ci! to taka prosta poprawka. Nasuwa się pytanie, dlaczego komunikat o błędzie musi być tak tajemniczy, że zalecana akcja nie została domyślnie uwzględniona
Antony
3
Odpowiedź Larsha pomogła, jeszcze jedna kwestia polega na tym, że Google () powinno być również obecne nad innymi. Zamów tutaj też ma znaczenie.
Reejesh PK
Czy można też zbudować projekt bez google()zależności?
white_gecko
Możesz pobrać artefakt z mavena i umieścić go w swoim repozytorium offline, jeśli naprawdę chcesz
Izabela Orłowska
41

Otwierasz bardzo stary projekt? Jeśli tak, upewnij się, że plik build.gradle Twojej aplikacji zawiera:

apply plugin: 'com.android.application'

repositories {
    google()
    jcenter()
} 

(To i tak rozwiązało to dla mnie)

Pico
źródło
Ważną częścią jest zależność repozytorium „google ()”.
Izabela Orłowska
11
Dla mnie to był rozkaz. Miałem, google()ale to było na liście repozytoriów. Przeniesienie go na górę listy repozytoriów rozwiązało problem.
Ezekiel Sebastine
powinno to zostać zaakceptowane ... (przynajmniej do otwierania starych projektów) ... repozytorium kluczy to google () i można je umieścić albo w pliku build.gradle aplikacji, albo raczej w pliku build.gradle projektu pod allprojects> repozytoria, gdzie jcenter () zwykle już jest
Lukáš Řádek
19

Po prostu dodaj google()swój buidscript i wszystkie projekty, a następnie odbuduj projekt.

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

allprojects {
    repositories {
        google() // `<-- here`
    }
}
fMadTech
źródło
Dziękuję za pomoc. Dodanie wszystkich projektów rozwiązało problem
Haris Durrani
5

Zaktualizuj zależność pliku build.grade aplikacji przy użyciu zaktualizowanej wersji oceny

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

Postępuj zgodnie z sugestią studia Android dotyczącą wersji do aktualizacji. po zaktualizowaniu ścieżki klas i ponownej synchronizacji aplikacji.

Po tym wszystkim uruchom ponownie swoje studio Android .

Samson Ayalew
źródło
3

Rozwiązuję ten problem, zmieniając atrybut „distributionUrl” w android/gradle/gradle-wrapper.properties.

Wartość domyślna to https\://services.gradle.org/distributions/gradle-4.10.2-all.zipi zmieniłem ją na https\://services.gradle.org/distributions/gradle-5.4.1-all.zipi błąd zniknął.

Amir Ajorloo
źródło
3

Miałem ten komunikat o błędzie:

Nie można pobrać pliku aapt2-osx.jar (com.android.tools.build:aapt2:3.5.0-5435860): brak wersji z pamięci podręcznej dostępnej w trybie offline

Nawet gdybym zdefiniował wszystkie niezbędne zależności dla mojego proyecta i odpowiednią konfigurację w moim build.gradle:

apply plugin: 'com.android.application'

repositories {
    google()
    jcenter()
} 

Błąd nadal występuje, ale ta wiadomość dała mi wskazówkę, co się dzieje:

Brak wersji z pamięci podręcznej dostępnej w trybie offline

Więc odkryłem, że pracuję w trybie offline, musisz odznaczyć „tryb offline”, a następnie Android Studio będzie mogło pobrać niezbędne zasoby do stworzenia projektu .

wprowadź opis obrazu tutaj

Kiedy projekt znów działa, możesz ponownie sprawdzić, czy pracować w trybie offline.

Jorgesys
źródło
3

Jestem w Iranie, a repozytorium Google jest ograniczone w mojej lokalizacji. Kiedy zmieniłem adres IP na inny kraj, problem został rozwiązany. Wygląda na to, że wystąpił problem z połączeniem internetowym.

AliSh
źródło
w rzeczywistości używam VPN, ale problem nadal przypomina i nie mogę uruchomić projektu!
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()
    }
}
林 嗳 莫
źródło
0

Rozwiązanie to czteroetapowy proces,

  1. zmień ścieżkę klasy w build.gradle na żądaną wersję.
  2. Synchronizuj teraz
  3. Po pobraniu wszystkich plików możesz usunąć nową i dodać poprzednią wersję w Gradle.
  4. Synchronizuj teraz
hanif s
źródło
0

W moim przypadku udało mi się go rozwiązać, aktualizując „Android SDK Build-Tools” do najnowszej wersji.

W Android Studio wybierz Narzędzia -> Menedżer SDK -> Wybierz kartę narzędzi SDK -> sprawdź, czy jest dostępna aktualizacja dla Android SDK Build - Narzędzia (zaktualizowane do najnowszej wersji 30.0.0).

wprowadź opis obrazu tutaj

Narshim
źródło
-1

musisz nagrać taśmę w: build.gradle () i wpisać google () i ta opcja zrób to w sekcji buildscript & allproject

DonMoh
źródło
1
to bardziej komentarz niż odpowiedź
sudo97
-2

jeśli nie naprawiono google (), a następnie Plik -> Ustawienia -> Kompilacja, wykonanie, wdrożenie -> Gradle

Następnie odznacz Ofline Work, Gotowe.

Saljith Kj
źródło