Mam ten błąd
Próbuję ponownie zainstalować Android Studio i usunąć folder .gradle, jakieś rozwiązanie?
Error:FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:processDebugResources'.
> Android resource linking failed (AAPT2 27.0.3 Daemon #0)
Command: C:\javasdk\build-tools\27.0.3\aapt2.exe link -I\
C:\javasdk\platforms\android-26\android.jar\
--manifest\
C:\Users\Jalal D\.gradle\caches\transforms-1\files-1.1\fonticon-0.1.8.aar\2b09376fc14469ba65fc8e4d85c2eed1\res\values\values.xml:19:5-25:25: AAPT: error: resource android:attr/fontVariationSettings not found.
C:\Users\Jalal D\.gradle\caches\transforms-1\files-1.1\fonticon-0.1.8.aar\2b09376fc14469ba65fc8e4d85c2eed1\res\values\values.xml:19:5-25:25: AAPT: error: resource android:attr/ttcIndex not found.
error: failed linking references.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org
BUILD FAILED in 1m 3s
Android zasób łączenie nie powiodło się błąd może się pojawić, jeśli masz błąd w którymkolwiek z zasobów XML. W moim przypadku dwukrotnie korzystałem z następującego wiersza w jednym z moich rysunków XML w folderze do rysowania:
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
Usunąłem zduplikowaną linię i błąd zniknął. Błąd był nieco mylący:
Zgodnie z powyższym błędem, pierwszą rzeczą, którą musisz zrobić, jest sprawdzenie wszystkich dostępnych zasobów, do których można uzyskać dostęp w activity_main, ponieważ istnieje większe prawdopodobieństwo, że znajdziesz błąd. W najgorszym przypadku może skończyć się sprawdzeniem wszystkich plików zasobów.
źródło
<?xml version="1.0" encoding="UTF-8"?><?xml version="1.0" encoding="UTF-8"?>
(w tym samym wierszu: P trudniejszy do wykrycia)<meta-data android:name="com.google.android.actions" android:resource="@xml/my_event_session_menu" />
Uwaga: Android Studio wypluwa mnóstwo szalonych błędów, takich jak ten, jeśli zaktualizujesz biblioteki wsparcia do,
28.0.0
a nie maszcompileSdkVersion
28.źródło
compileSdkVersion 28
isupport-v4:28.0.0
otrzymuję ten sam błąd :(Problem ustalone dla mnie, zastępując
compileSdkVersion 23
zcompileSdkVersion 28
wbuild.gradle (Project: build)
.źródło
minSdkVersion 23
compileSdkVersion
z23
do28
? W takim razie jaki był pierwotny problem?compileSdkVersion 23
zcompileSdkVersion 28
pracował dla mnie, ale ja po prostu wspomnieć, że był w stanie opuścićminSdkVersion 23
, jako dodatkową informacją na temat prawidłowego rozwiązania. Moim pierwotnym problemem był „Błąd - nie udało się połączyć zasobów Androida”Jeśli używasz systemu Windows 10 i Android Studio 3.2, możesz po prostu przejść do pliku build.gradle aplikacji i zmienić wersję.
źródło
Zaimportowałem nowe kolory do mojego projektu i mam ten sam problem. Więc otworzyłem
styles.xml
i ponownie przypisałem elementy do kolorów, używając nowych nazw kolorów.źródło
Rozwiązałem to, dodając
@+id/
przed wszystkimi moje identyfikatory.to znaczy
@+id/your_item_id
źródło
czuję się tak głupio - (z jakiegokolwiek powodu) miałem jeden pusty plik XML w folderze do rysowania. i AS wyprodukował dziesiątki niepowiązanych błędów> <
więc moja ogólna rada byłaby taka sama - sprawdź krótko każdy plik zasobów.
źródło
com.android.support:support-v4 niedawno otrzymał aktualizację i może mieć wpływ na wtyczkę używającą zaktualizowanej wersji w swoich zależnościach. Ale jeśli nie możesz znaleźć w zależnościach (na przykład jeśli używasz wtyczki crosswalk), po prostu umieść ten kod na górze wtyczki gradle kodu (nie musisz dodawać do build.gradle).
configurations.all { resolutionStrategy.force 'com.android.support:support-v4:24.0.0' }
Przykładowe miejsce umieszczenia kodu we wtyczce dla pieszych tutaj
Zapraszam do edycji wersji com.android.support (NIE UŻYWAĆ 28.0.0), ponieważ to jest problem
źródło
27.1.0
jak wspomniano @RFourie.W plikach zasobów powinien występować błąd. Oznacza to, że może brakować wpisanej wartości atrybutów. Przejrzyj pliki zasobów, popraw te wartości i ciesz się pracą.
źródło
Może być wiele przyczyn tego problemu, a te są głównie w pliku build.gradle na poziomie zasobów lub aplikacji.
W moim przypadku widok w pliku zasobów nie miał wymaganej zależności zawartej w pliku build.gradle.
Dlatego upewnij się, że wszystkie wymagane zależności znajdują się w pliku build.gradle.
źródło
Sprawdź wersję wtyczki Gradle . Spróbuj obniżyć go, jeśli zaktualizowałeś go do nowszej wersji tuż przed pojawieniem się tego problemu. Przejdź do Plik -> Struktura projektu . Przejdź do poprzedniej wersji.
źródło
Miałem ten sam problem i rozwiązałem go, przechodząc do Plik -> Struktura projektu ... -> Sugestie, a następnie Zastosuj wszystko. Jak zasugerował @JeffinJ Myślę, że problem był spowodowany aktualizacją wtyczki Gradle.
źródło
Spróbuj zaktualizować najnowszą wersję kompilacji, wersję docelową i kompilacyjną, a także zaktualizuj zależności, ale nie działa dla mnie
W moim przypadku zmień
<meta-items/>
na<meta-data/>
manifest działa dla mnie ...Mam nadzieję, że komuś to pomoże ...
źródło
Miałem ten sam problem, ale to dlatego, że w moich przyciskach layout_width / height zapomniałem wstawić dp na końcu podczas ich edycji. Dodano dp i naprawiono problem: /
źródło
U mnie błąd pojawił się po zmianie ikony programu uruchamiającego za pomocą Asset Studio. Okazuje się, że w
ic_launcher_foreground.xml
wygenerowanym pliku brakowało następującego wiersza u góry pliku:<?xml version="1.0" encoding="utf-8"?>
źródło
W moim przypadku przypadkowo napisałem:
app:displayViewTitle="@string/instructions_defineExtract_confirm_email"
Co ciekawe, Android Studio było w stanie nawigować po ciągu za pomocą CTRL + klik. Po prostu powodował błąd czasu kompilacji. Zmiana na standardową „separację kropek” załatwiła sprawę
app:displayViewTitle="@string/instructions.defineExtract.confirm.email"
źródło
Znalazłem jeden z powodów, które powodują ten problem
Kiedy próbujemy użyć dowolnego
w pliku manifestu, którego nie ma w wartościach,
(string.xml,style.xml,color.xml,etc,)
pojawia się ten typ błęduźródło
Mam ten sam błąd i naprawiłem go po zamknięciu AndroidStudio i usunięciu katalogu, jak
C:\Users\Jalal D\.gradle\caches\transforms-1\
w informacjach o błędzie kompilacji.źródło
Miałem podobny problem, ale wyszedłem z rozwiązania, problem polegał na tym, że używałeś jakiejkolwiek rzeczy w zależności, która odpowiada tej samej domenie, ale z różnymi wersjami upewnij się, że wszystkie są takie same
źródło
Miałem ten sam problem i został on rozwiązany poprzez usunięcie błędów z plików zasobów, takich jak style, pliki kolorów w folderze wartości. W moim przypadku błąd w kolorach stylu, jak poniżej:
<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar"> <item name="android:textColorPrimary">**@color/colorPrimary**</item> <item name="android:textColorSecondary">**@color/colorPrimaryDark**</item> </style>
źródło
Zmiana wersji biblioteki obsługi na ostatnią włączoną (28.0.0) przez poprzednią (27.1.0) , błąd
Android Resource Linking Failed
zniknął.Należy zauważyć, że wersja 27.1.0 jest maksymalnym dozwolonym w naszych implementacjach wersją, która działa, ale jeśli chcesz, możesz użyć starszej wersji. I to musi być używane we wszystkich zależnościach, które zaczynają się od łańcucha
com.android.support:
project / app / build.gradle
implementation "com.android.support:appcompat-v7:$rootProject.supportLibraryVersion" implementation "com.android.support:support-v4:$rootProject.supportLibraryVersion"
project / build.gradle
ext { supportLibraryVersion= '27.1.0' }
Następnie zsynchronizuj projekt z plikami Gradle
GL
źródło
Wystąpił ten sam problem, ale przed wyświetleniem tego błędu moja aplikacja działała. Więc po prostu cofnąłem 2/3 razy. I znowu dokonał zmian. Aplikacja została pomyślnie uruchomiona.
źródło
Natknąłem się na ten sam problem po dodaniu następującej zależności:
implementation 'com.evernote:android-state:1.4.1' annotationProcessor 'com.evernote:android-state-processor:1.4.1'
Powodem było to, że najnowsza wersja evernote używa zależności od AndroidX, podczas gdy ja miałem obsługę biblioteki w wersji 27.1.1 w moim projekcie. Tak więc istniała opcja aktualizacji bibliotek wsparcia do 28.0.0, jak sugerują inne odpowiedzi, ale było to trochę trudne w przypadku dużego projektu z wieloma niestandardowymi widokami. Tak więc rozwiązałem ten problem, obniżając wersję evernote do 1.3.1.
źródło
Może zabrzmi to banalnie, ale jak dla mnie
Build > Clean Project
naprawiłem ten błąd bez żadnych innych zmian.źródło
Używam Studio 3.3.1 Build od 28 stycznia.
U mnie otrzymywałem komunikat „błąd łączenia zasobów systemu Android nie powiódł się” wskazujący na linię w pliku układu używającą ConstraintLayout, która działała poprawnie do dzisiaj, kiedy jedyną zmianą w moim pliku ocen na poziomie aplikacji była aktualizacja wersji:
android.arch.navigation:navigation-fragment android.arch.navigation:navigation-ui
od
1.0.0-rc01
do1.0.0-rc02
.Komunikat o błędzie mówił coś o nierozpoznaniu,
layout_constraintTop_toTopOf
co oczywiście jest głupie, ponieważ kompilował się szczęśliwie od miesięcy.Jestem już na 28.0.3 narzędzi do kompilacji i
compileSdkVersion
28. Używamandroidx.appcompat
wszędzie już od jakiegoś czasu (przekonwertowałem ten projekt kilka miesięcy z powrotem na androidx).Najpierw przeszedłem przez projekt czysty (bez pomocy) i unieważniający pamięć podręczną / restart (bez pomocy). Omawiany układ został pierwotnie zdefiniowany za pomocą
<TextView>
,<EditText>
i<ImageView>
elementy (które zostały grzywny pracujący do dziś).Ale po przeczytaniu powyższych odpowiedzi pomyślałem, że może w jakiś sposób spowodowało to zamieszanie, więc zmieniłem układ, aby użyć:
<androidx.appcompat.widget
wersje wszystkich różnych komponentów. Bez zmian - nadal występuje błąd.
Następnie usunąłem
<androidx.appcompat.widget.AppCompatTextView
blok, który powodował błąd kompilacji. Zmieniłem wszystkie odniesienia do niego w innych widżetach, aby zamiast tego odnosiły się do „rodzica”. Zrobiłem. Tym razem kompilacja zakończyła się bez błędów .Więc pomyślałem, że coś dziwnego w tej definicji widżetu ... oto co to było:
<androidx.appcompat.widget.AppCompatTextView android:id="@+id/contact_firstname_label" android:layout_width="0dp" android:layout_height="wrap_content" android:text="@string/contact_fname_label" android:gravity="end" android:textAppearance="@android:style/TextAppearance.Material.Small" app:layout_constraintTop_toTopOf="parent" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toLeftOf="@+id/contact_detail_fname" app:layout_constraintBaseline_toBaselineOf="@+id/contact_detail_fname"/>
Następnie wkleiłem blok, który wcześniej wyciąłem za pomocą Ctrl-V i zmieniłem odniesienia z powrotem do tego identyfikatora w innych komponentach, które odnoszą się do niego w układzie. Kompilacja nie powiodła się .
Ponownie wyciąłem blok i wkleiłem go do programu WordPad. Następnie czytając z pasty WordPad, faktycznie wpisałem go z powrotem (tj. Tym razem nie kopiowałem / wklejałem) - wiersz po wierszu, robiąc make w projekcie po wpisaniu minimalnej definicji, a następnie ponownie, gdy umieścić w każdej nowej linii.Za każdym razem projekt skompilowany czysto!
Nie wiem, co o tym sądzić. Być może pierwotnie w pliku znajdowała się jakaś fałszywa niewidzialna postać?
źródło
W moim przypadku przypadkowo stylizowałem właściwość obecną tylko w przyciskach i dodałem ten styl dla TextView.
<!-- applied to TextViews --> <style name="rowStyle"> <item name="android:padding">3dp</item> <item name="android:borderlessButtonStyle">false</item> <!-- this caused the error --> <item name="android:background">@drawable/textview_border</item> </style>
Usunięcie rzędu z
android:borderlessButtonStyle
naprawionym problemem.źródło
źródło
W przypadku, gdy napotkasz to: w moim przypadku miałem przetłumaczony ciąg, ale ciąg nie pojawił się jeszcze w domyślnym strings.xml. Dodano brakujący ciąg do strings.xml i problem został rozwiązany.
źródło
W moim przypadku błąd wskazywał na plik AndroidManifest.xml. Miałem taką linię:
<meta-data android:name="com.google.android.actions" android:resource="@xml/popup_info.xml" />
Co, nie jestem pewien, dlaczego Android Studio to tam umieściło. Nie zmieniłem pliku manifestu i nigdy się to nie stało, dopóki nie zaktualizowałem do wersji 3.5.3 - więc AS musiał zrobić to za mnie. W każdym razie linia powinna wyglądać tak:
<meta-data android:name="com.google.android.actions" android:resource="@layout/popup" />
Kiedy to zmieniłem, wszystko było dobrze.
źródło