To jest wynik mojej konsoli Gradle, nie mogę zbudować mojego projektu
D:\Android Projects\....\app\src\main\res\layout\topic_view_header.xml
Error:error: resource attr/?? (aka -packagename- :attr/??) not found.
Error:error: resource attr/?? (aka -packagename-:attr/??) not found.
Error:error: resource attr/?? (aka -packagename-:attr/??) not found.
Error:resource attr/?? (aka -packagename-:attr/??) not found.
Error:resource attr/?? (aka -packagename-:attr/??) not found.
Error:resource attr/?? (aka -packagename-:attr/??) not found.
Error:failed linking file resources.
Error:java.util.concurrent.ExecutionException:
java.util.concurrent.ExecutionException:
com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details
Error:java.util.concurrent.ExecutionException:
com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details
Error:com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for
details
Error:Execution failed for task ':app:processDebugResources'.
> Failed to execute aapt
Information:BUILD FAILED in 27s
Information:11 errors
Information:0 warnings
Android Studio 3.0 RC 2
android
android-gradle-plugin
Zeeshan Ali
źródło
źródło
Odpowiedzi:
Aktualizacja 2 (postępuj zgodnie z tym podejściem)
Nie powinieneś tego teraz robić. Zamiast tego napraw wszystkie błędy. To jest tylko obejście, dopóki nie zostanie usunięte. Potem i tak będziesz musiał naprawić błędy ręcznie.
Spróbuj zaktualizować wtyczkę gradle,
3.3.0-alpha06
aby sprawdzić, czy to rozwiąże problem.Aktualizacja 1:
Naprawiono problemy ze znakami spoza ASCII w wtyczce AAPT2 i Android Gradle (yay!). Zamiast wyłączać AAPT2 teraz możesz po prostu użyć wtyczki Gradle Android w wersji 3.2.0-alpha11 lub nowszej i nie powinieneś już napotykać tego błędu.
Oryginalna odpowiedź
Aapt2 jest domyślnie włączony, gdy używasz wtyczki Androida dla Gradle 3.0.
To jest do
jak podano tutaj .
Ale jeśli napotkasz z nim problemy, możesz wrócić do poprzedniej wersji, dodając to
gradle.properties
źródło
Process 'command 'D:\Android\sdk\Sdk\build-tools\27.0.3\aapt.exe'' finished with non-zero exit value 1
The option 'android.enableAapt2' is deprecated and should not be used anymore. Use 'android.enableAapt2=true' to remove this warning. It will be removed at the end of 2018..
AKTUALIZACJA
Dostępna jest nowa wersja wtyczki Gradle i Android-gradle-plugin, która rozwiązuje te problemy.
build.gradle (najwyższy poziom)
gradle-wrapper.properties
POPRZEDNIA ODPOWIEDŹ
Jeśli wyłączysz AAPT2, po prostu ukrywasz prawdziwy problem.
Pamiętaj,
AAPT1
że w przyszłości może zostać usunięty, dlatego musisz z niego korzystaćAAPT2
. Właściwie przewodnik migracji nie jest trudny do naśladowania, ponieważ nie widzisz tak wielu zmian w tym samym czasie, w ten sposób jest to przyszłościowe.Dlatego musisz najpierw sprawdzić, czy naprawdę postępujesz zgodnie z poprawną strukturą Manifestu, jak pokazano poniżej.
źródło
Wystąpił błąd w moim układzie XML. Sprawdź więc układ XML pod kątem błędów.
źródło
Sprawdź zakładkę konsoli Gradle w Android Studio (domyślnie w prawym dolnym rogu). W moim przypadku były takie błędy:
Rozwiązałem problem z ustawieniem domu użytkownika gradle w innej lokalizacji bez białych lub specjalnych znaków:
Możesz to skonfigurować, ustawiając „ Ścieżkę katalogu usługi ” w oknie dialogowym ustawień Gradle. W moim przypadku konieczne było usunięcie starego katalogu .gradle z poprzedniej lokalizacji i ponowne uruchomienie Android Studio.
źródło
Mój problem był spowodowany nazwą pliku obrazu kończącą się na .9.png . Zmieniłem zakończenie na .png i problem zniknął. Otrzymałem wskazówkę ze śladu stosu w konsoli Gradle: górny komunikat brzmiał „Wykonanie nie powiodło się dla zadania: aplikacja: mergeDebugResources ”, a na dole komunikat „com.android.builder. Png .AaptProcess $ NotifierProcessOutput.out”
Nie mogę się doczekać dnia, w którym Gradle wyświetli bardziej pomocne komunikaty o błędach ...
źródło
Właśnie miałem ten problem podczas próby użycia powiązania danych i zadeklarowania tagu układu. Wiem, że jest trochę za późno, ale ze względu na każdego, kto napotka ten problem, po tylu próbach rozwiązałem problem, że w układzie głównym, gdy nie używasz wiązania danych, powiedz na przykład to
usunąć
i po prostu umieść go na swoim tagu układu ( to znaczy, jeśli używasz wiązania danych )
i miejmy nadzieję, że zadziała.
android.enableAapt2=false
nie działa dla mnie, więc muszę usunąć wszystko i spróbować dowiedzieć się, dlaczego pojawia się błąd, gdy kładę układ znaczników danych i wykorzystania wiążący sposób wymyśliłem rozwiązanie. Mam nadzieję, że to pomożeźródło
Mając tutaj ten sam problem. Jak zauważyła @Izabela Orłowska, problem ten jest najprawdopodobniej spowodowany przez znaki specjalne w ścieżce (pliki android grandle, zasoby itp.).
Dla mnie: posiadanie
ří
nazwy folderu spowodowało wszystkie problemy. Upewnij się, że na ścieżkach nie ma żadnych znaków specjalnych. Wyłączenie AAPT2 jest tylko tymczasowym „rozwiązaniem”. Ścieżka projektu zawiera znaki spoza zestawu ASCII Android Studioźródło
Naprawiłem BŁĄD w trzech krokach
1. Sprawdziłem problem. ŹRÓDŁO
2. Podałem poprawny ciąg / tekst, to była przyczyna
3. Wyczyściłem projekt, znajdziesz go w BUILD.
źródło
Ponieważ w przyszłości obsługa AAPT (1) zostanie wycofana, dobrze byłoby zidentyfikować przyczynę zgłoszonego błędu.
Czy możesz podać zawartość pliku \ app \ src \ main \ res \ layout \ topic_view_header.xml? Ze znaków zapytania wynika, że używasz znaków spoza zestawu ASCII, z którymi AAPT2 nadal ma pewne problemy. Jeśli rzeczywiście są to znaki spoza zestawu ASCII, postępuj zgodnie z błędem na https://issuetracker.google.com/68262818 .
Aktualizacja : problem został rozwiązany we wtyczce Android Gradle w wersji 3.2.0-alpha11 lub nowszej.
źródło
classpath 'com.android.tools.build:gradle:3.2.0-alpha11'
.Ważna aktualizacja
Możesz zaktualizować swoją wersję gradle kompilacji na poziomie projektu
build.gradle
do najnowszej.i gradle-wrapper.properties
To wszystko! Synchronizuj i uruchamiaj, Bingo!
Więcej informacji Dokumentacja systemu Android
Jeśli dodasz, otrzymasz ostrzeżenie
android.enableAapt2=false
źródło
android.enableAapt2=false
.Napotkałem również ten błąd. Dla mnie było to podczas zmiany docelowego SDK z 26 na 25. Udało mi się rozwiązać problem, zmieniając wersję zależności appcompat z
implementation 'com.android.support:appcompat-v7:26.1.0'
do
implementation 'com.android.support:appcompat-v7:25.4.0'
Umożliwi to kompilatorowi dostęp do atrybutów stylizacji, których obecnie nie może znaleźć. To faktycznie rozwiąże problem zamiast maskować prawdziwy problem, jak sugerował Enzokie.
źródło
W moim przypadku użyłem niewłaściwego kodu koloru,
#CC00000
który jest nieprawidłowy, ponieważ ma 7 cyfr, ale kod koloru powinien mieć 3 lub 6 lub 8 cyfr plus prefiks #źródło
Wyłączenie AAPT2 mght powoduje problem w dalszym rozwoju, W moim przypadku błąd został wygenerowany podczas tworzenia ikony aplikacji.
Rozwiązuję to, usuwając tę linię
źródło
Jak zauważyła @Izabela Orlowska: W moim przypadku problem wystąpił z powodu niektórych plików, których nie można było znaleźć w folderze pamięci podręcznej gradle. (System operacyjny Windows)
Domyślna ścieżka gradle znajdowała się w moim folderze użytkownika. ścieżka zawierała umlauty i spację. Przeniosłem folder gradle przez ustawienie
GRADLE_HOME
iGRADLE_USER_HOME
zmienną środowiskową do jakiegoś nowo utworzonego folderu bez umlautów i spacji w ścieżce. To rozwiązało problem.źródło
Wypróbowałem wszystko, co sugerowano tutaj i na wielu innych stronach, w końcu doszedłem do wniosku, że problem dotyczy Bitdefender dotyczy blokowania aapt ....
Jeśli masz zainstalowany Bitdefender, musisz włączyć dostęp do aplikacji aapt & aapt2 ".
Mam nadzieję, że to się przyda.
źródło
Jeśli zauważyłeś ten błąd po próbie uruchomienia poszczególnych testów implementacji Androida lub klas testowych (klikając ikonę uruchamiania w rynnie) w projekcie Kotlin w Android Studio 3.0.1, możesz obejść ten błąd, uruchamiając zamiast tego pełny pakiet testowy (klikając prawym przyciskiem myszy pakiet testowy i wybierając opcję „Uruchom testy w ...”).
W Android Studio 3.0.1 występuje znany błąd, który powoduje, że IDE uruchamia testy implementacji Kotlin jako zwykłe testy JUnit, co spowodowało wyświetlenie komunikatu o błędzie OP na moim komputerze. Błąd jest śledzony na https://issuetracker.google.com/issues/71056937 . Wygląda na to, że został naprawiony w Android Studio 3.1 Canary 7.
źródło
Jak sugerują inni,
jest najczęstszym rozwiązaniem.
Ale w moim przypadku błąd był spowodowany różnymi wersjami w compileSdkVersion i buildToolsVersion .
Upewnij się, że główna wersja jest taka sama.
źródło
Otrzymałem ten błąd, gdy nazwa projektu była bardzo długa, a lokalizacja, w której zapisałem projekt, została do niego dodana. Przeniesienie projektu do innej lokalizacji, tak aby nazwy plików nie przekraczały limitów systemowych, rozwiązało problem.
źródło
Ja też miałem taki problem, oryginał to taca systemowa mojego komputera ta ścieżka:
a teraz zmieniłem ścieżkę na:
Przyczyną jest problem znaków specjalnych, z tego powodu pojawiają się problemy związane z appt2Exception
źródło
Miałem bardzo podobny problem. Zostało to rozwiązane przez usunięcie pamięci podręcznej Gradle (~ / .gradle / caches w systemie Linux), co zmusiło Android Studio do ponownego pobrania i ponownego wygenerowania wszystkiego.
źródło
Zamknięcie projektu i ponowne uruchomienie Android Studio rozwiązało ten problem.
Podczas ponownego uruchamiania studio Android poinformowało, że musi pobrać brakujące zestawy SDK, więc gdy się tym zajmie, problem został rozwiązany.
źródło
Nie jestem pewien, czy już na to odpowiedziałeś, ale pozwól mi się zastanowić. Niedawno stanąłem twarzą w twarz z podobnym problemem i udało mi się wskazać dokładny problem z zakładki kompilacji obok logcat. Mój problem był spowodowany błędem rodziny fontów w kodzie XML. Używam najnowszej wersji Android Studio z aktualizacją z marca 2018 r.
źródło
Upewnij się, że używasz w
src/main/res/raw
katalogu prawidłowych typów plików . W moim przypadku skopiowałem plik .mov wraz z kilkoma innymi plikami do mojego katalogu res / raw. Podejrzewam, że problem polegał na tym, że aapt próbował przetworzyć plik .mov i nie wiedział, co z nim zrobić.źródło
Miałem dokładnie ten sam problem: po aktualizacji do Android Studio 3.1.2 mój projekt nie mógł się skompilować z błędem AAPT2 informującym mnie o niektórych elementach rysunkowych, do których odwołuje się
styles.xml
że nie można znaleźć . Wyłączenie AAPT2 nie jest już rozwiązaniem, ponieważ to ustawienie jest przestarzałe i zostanie usunięte pod koniec 2018 r.Culprit był pustą linią tuż przed dekleracją xml w zupełnie niepowiązanym
layout.xml
pliku ... Więclayout.xml
plik zaczął się tak:Usunięto pustą linię i wszystko znów działało jak urok. Niewiarygodne i mało prawdopodobne, ale prawdziwe.
Android Studio faktycznie wyświetliło ostrzeżenie, ponieważ plik nie zaczynał się od dekleracji xml (z powodu pustej linii). Ale ostrzeżenie jest widoczne tylko wtedy, gdy plik jest otwierany w edytorze.
źródło
Ten komunikat o błędzie (błąd AAPT2: sprawdź dzienniki, aby uzyskać szczegółowe informacje) nie jest pomocny, ponieważ nie informuje o prawdziwym problemie.
W moim przypadku było to spowodowane brakującym plikiem rysowalnym XML zasobu.
Zorientowałem się tylko dlatego, że cofnąłem zmiany w pliku XML i tym razem otrzymałem bardziej pomocną wiadomość:
źródło
W moim przypadku prawdziwym problemem było to, że po wygenerowaniu zasobu obrazu w celu wygenerowania ikony mipmap programu uruchamiającego dla mojego projektu, wygenerowany plik ic_launcher_foreground.xml miał błąd wewnątrz (został nieprawidłowo wygenerowany). Brakowało zamykającego tagu xml na końcu pliku, brakowało </ vector> .
źródło
Sprawdź i wypróbuj poniższe rzeczy. Problem powinien zostać rozwiązany.
Przede wszystkim sprawdź swój dziennik od dołu okna kompilacji, czy nie ma błędów związanych z wyświetlaniem projektu. Jeśli pojawi się błąd, napraw je wszystkie. Teraz skompiluj i uruchom ponownie, napraw cały błąd. To wyeliminuje problem z AAPT2 bez zmiany wtyczki Android Gradle na 3.2.0.
Po drugie, jeśli w dzienniku kompilacji nie ma żadnego błędu związanego z projektem, ale nadal wyświetla się błąd aapt2, możesz go naprawić, wykonując poniższe czynności.
Zaktualizuj wtyczkę Android Gradle w
build.gradle
pliku na poziomie projektu , jak poniżej:Teraz zaktualizuj
android.enableAapt2=true
. Następnie sprawdź i skompiluj swój projekt.Każdy z tych kroków powinien działać w celu rozwiązania problemów związanych z aapt.
źródło
Jeśli używasz Kotlina, pojawia się błąd z powodu błędów w plikach xml. W kotlin bardzo trudno jest znaleźć błędy XML, kompilacja kończy się niepowodzeniem. Aby poznać dokładny dziennik błędów, uruchom poniższe polecenie w terminalu Android Studio i łatwo jest naprawić błędy.
źródło
Otrzymałem ten sam błąd Błąd AAPT2: sprawdź dzienniki, aby uzyskać szczegółowe informacje, i zastosowałem powyższe rozwiązania, zgodnie z najbardziej powszechnym rozwiązaniem, otworzyłem gradle.properties i dodaj wiersz
android.enableAapt2 = false
rozwiązania, ale otrzymałem błąd. Proces 'command' D: \ Android \ sdk \ Sdk \ build-tools \ 27.0.3 \ aapt.exe '' zakończył się z niezerową wartością wyjścia 1
Ale po wielu poszukiwaniach odkryłem, że w pliku xml układu jest problem polegający na tym, że powtarzałem wiersze w pliku xml układu, który jest jak poniżej:
Usuń powtarzające się wiersze z pliku xml i odbuduj projekt i gotowe.
źródło
Sprawdź następujące rzeczy w swoim projekcie:
Upewnij się, że żaden plik XML nie ma spacji na początku pliku.
Upewnij się, że żaden plik do rysowania nie zawiera żadnych problemów, takich jak wielkie litery lub żadne specjalne symbole w nazwie.
Jeśli ciągle brakuje twojego aapt2.exe, przeskanuj cały komputer. Może to być wirus, który usuwa adb.exp lub aapt2.exe
Mam nadzieję, że otrzymasz rozwiązanie.
źródło