Fehler - Verknüpfung der Android-Ressourcen fehlgeschlagen (AAPT2 27.0.3 Daemon # 0)

90

Ich habe diesen Fehler

Ich versuche, Android Studio neu zu installieren und den .gradle-Ordner zu entfernen. Gibt es eine Lösung?

    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
Mahmoud D. Alghraibeh
quelle

Antworten:

50

Hatte genau das gleiche Problem. Das Problem wurde wie folgt behoben : Suchen und Ersetzen von com.android.support:support-v4:+ durch com.android.support:support-v4:27.1.0 im Verzeichnis platform / android.

Außerdem musste ich den Dateien platform / android / app / build.gradle und platform / android / build.gradle den folgenden Code hinzufügen:

configurations.all {
resolutionStrategy {
    force 'com.android.support:support-v4:27.1.0'
}}

Bearbeitet, um zu antworten "Wo ist diese Einstellung für com.android.support:support-v4:+?" ...

Die Einstellung befindet sich wahrscheinlich (in diesem Fall) in einer der .gradle-Dateien Ihres Plugins im Verzeichnis platform / android /. In meinem Fall war es beispielsweise das Starter-Barcodescanner-Plugin. Gehen Sie also einfach alle .gradle-Dateien Ihres Plugins durch:

Geben Sie hier die Bildbeschreibung ein

Überprüfen Sie die Datei platform / android / build.gradle.

Hoffe das hilft.

RFourie
quelle
Danke, dass Sie uns gerettet haben!
Ramesh Murugesan
Vielen Dank, dass Sie meinen Tag retten! Ich hatte Tage mit diesem Problem, das mir aus der Nacht kam, ohne zu wissen, wie meine Anwendung nicht mehr funktionierte
LMoreno10
Ich kann nicht glauben, dass die Lösung so einfach war. Alles, was es brauchte, war ein Kopieren und Einfügen in diese beiden Gradle-Dateien! Klatscht !!
Shyam
Es wurde einer der Gründe für dieses Problem gefunden. Wenn wir eine Zeichenfolge, einen Stil, eine Farbe usw. in einem Manifest verwenden, das in Werten (string.xml, style.xml, color.xml usw.) nicht vorhanden ist, tritt diese Art von Fehler auf .
Vishnu Magar
Dieser Fix funktioniert auch, wenn Abhängigkeiten in Android Studio aktualisiert werden. IDE selbst wird in den Dateien darauf hinweisen, dass diese Versionen mit dem kompilierten
SDK
83

Der Fehler beim Verknüpfen der Android-Ressourcen kann auch angezeigt werden, wenn in einer Ihrer XML-Ressourcen ein Fehler auftritt. In meinem Fall habe ich die folgende Zeile zweimal in einem meiner XML-Drawables im Drawable-Ordner verwendet:

<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="UTF-8"?>

Ich habe die doppelte Zeile entfernt und der Fehler ist verschwunden. Der Fehler war etwas irreführend:

Verknüpfung der Android-Ressourcen fehlgeschlagen Ausgabe: / Users / johndoe / Desktop / myapp / app / src / main / res / layout / activity_main .xml: 2: Fehler: Ressource zeichnbar / bg_main (auch bekannt als com.example.myproject: drawable / bg_main) nicht gefunden.

Gemäß dem obigen Fehler müssen Sie zunächst alle zeichnbaren Ressourcen, auf die in activity_main zugegriffen wird, Korrektur lesen, da die Wahrscheinlichkeit höher ist, dass Sie den Fehler finden. Im schlimmsten Fall überprüfen Sie möglicherweise alle Ihre Ressourcendateien.

Darush
quelle
4
Dies. Dies löste mein Problem. Es ist sehr ärgerlich, dass dieser Fehler nicht von der IDE signalisiert wurde und der Verknüpfungsfehler über etwas ganz anderes spricht.
Ocramot
3
Mutter Gottes !
Mihir Patel
1
meins war eigentlich: <?xml version="1.0" encoding="UTF-8"?><?xml version="1.0" encoding="UTF-8"?> (in der gleichen Zeile: P schwerer zu erkennen)
Alan Deep
1
Meins war, dass ich eine Ressource in Manifest verwendet habe, während sie bereits gelöscht wurde <meta-data android:name="com.google.android.actions" android:resource="@xml/my_event_session_menu" />
Gpak
2
+1 für die Zeitersparnis. Am ärgerlichsten ist, dass Android Studio auf die falsche Datei zeigte, was dazu führte, dass ich mir den Kopf kratzte, da die Datei, auf die nicht verlinkt werden konnte, in Ordnung war.
Maschinenstamm
46

Hinweis: Android Studio spuckt eine Menge verrückter Fehler wie diesen aus, wenn Sie die Support-Bibliotheken auf aktualisieren 28.0.0und Sie compileSdkVersionnicht 28 sind.

Daniel Wilson
quelle
13
Ich hatte bereits beide compileSdkVersion 28und support-v4:28.0.0und ich bekomme den gleichen Fehler :(
Ocramot
1
@ocramot Ich habe das Problem behoben, indem ich die compileSdkVersion auf 27
suvojit_007
1
+1. Mein Projekt hat zwei Module und ich hatte verschiedene Versionen (eine war 29 und die andere war 27). Als ich sie alle auf 29 stellte, war der Fehler weg
voghDev
Vielen Dank! In meinem Fall musste ich 'minSdkVersion' auf das gleiche wie 'compileSdkVersion' setzen. Andernfalls würde nur der erste Build ausgeführt, und alle nachfolgenden Wiederholungen würden mit einem ähnlichen Fehler wie OP fehlschlagen
Jim B,
7

Wenn Sie Windows 10 und Android Studio 3.2 verwenden, können Sie einfach zum build.gradle der App gehen und die Version ändern.

Ändern Sie unter Abhängigkeiten die Version und erstellen / synchronisieren Sie

Syed Raza
quelle
Es ist das Modul Gradle. Klicken Sie auf den Link oben, um den Screenshot zu sehen.
Syed Raza
3
Ist Windows 10 eine Voraussetzung?
IgorGanapolsky
7

Problem durch Ersetzen compileSdkVersion 23durch compileSdkVersion 28in behoben build.gradle (Project: build).

Jaime Montoya
quelle
Arbeitete für mich, danke! Ich habe nochminSdkVersion 23
Stephen Hosking
@StephenHosking Hat es bei Ihnen ohne Upgrade compileSdkVersionvon 23auf funktioniert 28? Was war in diesem Fall das Problem, das Sie ursprünglich hatten?
Jaime Montoya
Ich hätte klarer sein sollen. Ihre Lösung, dh. Ersetzen Sie compileSdkVersion 23mit compileSdkVersion 28für mich gearbeitet, aber ich habe gerade erwähnt, dass in der Lage war minSdkVersion 23, als zusätzliche Informationen über eine korrekte Lösung zu verlassen. Mein ursprüngliches Problem war "Fehler - Verknüpfung der Android-Ressource fehlgeschlagen"
Stephen Hosking
@ StephenHosking Schön. Gut, das funktioniert jetzt für dich.
Jaime Montoya
4

Ich habe neue Farben in mein Projekt importiert und habe das gleiche Problem. Also habe ich styles.xmlElemente geöffnet und Farben mit neuen Farbnamen neu zugewiesen.

Oleksandr
quelle
4

fühle mich so dumm - (aus welchem ​​Grund auch immer) ich hatte eine leere XML in einem zeichnbaren Ordner. und AS erzeugte Dutzende von nicht verwandten Fehlern> <

Mein allgemeiner Rat wäre also der gleiche - überprüfen Sie kurz jede Ressourcendatei.

mjollneer
quelle
3

com.android.support:support-v4 wurde erst kürzlich aktualisiert und wirkt sich möglicherweise auf Plugins aus, die in ihren Abhängigkeiten eine aktualisierte Version verwenden. Wenn Sie die Abhängigkeiten jedoch nicht finden können (z. B. wenn Sie ein Crosswalk-Plugin verwenden), fügen Sie diesen Code einfach oben in Ihr Code-Gradle-Plugin ein (Sie müssen build.gradle nicht hinzufügen).

configurations.all {
resolutionStrategy.force 'com.android.support:support-v4:24.0.0'
}

Beispielspeicherort zum Einfügen des Codes in das Crosswalk-Plugin hier

Fühlen Sie sich frei, die Version von com.android.support zu bearbeiten (NICHT 28.0.0 VERWENDEN), da dies das Problem ist

Ahmad Azam
quelle
2
Vielen Dank. Ich benutze 27.1.0wie @RFourie erwähnt.
Ramesh Murugesan
3

Ich habe es gelöst, indem ich @+id/ vor allen meinen IDs hinzugefügt habe.

dh @+id/your_item_id

Sajid2405
quelle
Dies ist keine richtige Antwort auf die Frage. Geben Sie eine richtige Antwort und wie haben Sie es gemacht und was ist das Problem davon?. \
Yohan Malshika
2

In den Ressourcendateien sollte ein Fehler vorliegen. Dies bedeutet, dass möglicherweise ein falsch eingegebener Wert von Attributen vorliegt. Gehen Sie die Ressourcendateien durch, korrigieren Sie diesen Wert und genießen Sie die Arbeit.

Razz
quelle
2

Es kann mehrere Gründe für dieses Problem geben, und diese Gründe liegen hauptsächlich in der Datei build.gradle auf Ressourcen- oder App-Ebene.

In meinem Fall hatte eine Ansicht in der Ressourcendatei nicht die erforderliche Abhängigkeit, die in der Datei build.gradle enthalten war.

Stellen Sie daher sicher, dass alle erforderlichen Abhängigkeiten in der Datei build.gradle enthalten sind.

N. Fatma
quelle
2

Überprüfen Sie Ihre Gradle-Plugin-Version . Versuchen Sie ein Downgrade, wenn Sie kurz vor dem Auftreten dieses Problems auf eine neuere Version aktualisiert haben. Gehen Sie zu Datei -> Projektstruktur . Wechseln Sie zur vorherigen Version.

JeffinJ
quelle
1

Versuchen Sie, die neueste Build-Version, Ziel- und Kompilierungsversion zu aktualisieren und Abhängigkeiten zu aktualisieren, aber das funktioniert bei mir nicht

In meinem Fall wechselt der Wechsel <meta-items/>zu <meta-data/>in Manifest für mich ...

Hoffe es ist hilfreich für jemanden ...

Lokesh
quelle
1

Ich hatte das gleiche Problem, aber es lag daran, dass ich in meinen Schaltflächen layout_width / height vergessen habe, dp am Ende zu setzen, wenn ich sie bearbeite. Dp hinzugefügt und Problem behoben: /

DontJudgeMe
quelle
1

In meinem Fall habe ich versehentlich geschrieben:

app:displayViewTitle="@string/instructions_defineExtract_confirm_email"

Interessanterweise konnte Android Studio mit STRG + Klick durch die Zeichenfolge navigieren. Es gab nur einen Build Time-Fehler. Der Wechsel zur Standard- "Punkttrennung" hat den Trick getan

app:displayViewTitle="@string/instructions.defineExtract.confirm.email"
Onat Korucu
quelle
1

Ich hatte das gleiche Problem und löste es, indem ich zu Datei -> Projektstruktur ... -> Vorschläge ging und dann Alle anwendete. Wie von @JeffinJ vorgeschlagen, lag das Problem vermutlich am Gradle-Plugin-Update.

cie
quelle
0

Ich hatte ein ähnliches Problem, aber ich kam aus der Lösung heraus. Das Problem war, dass Sie alles in der Abhängigkeit verwendeten, das derselben Domäne entspricht, aber mit unterschiedlichen Versionen sicherstellen, dass alle gleich sind

Shubham Kumar Gupta Ggps
quelle
Ich habe letzte Nacht Android Studio 3.3.2 installiert. Ich bin ein absoluter Neuling. Ich habe eine "Flutter" -Anwendung erstellt und versucht, sie auszuführen. Ich erhalte die folgende Ausgabe und Verknüpfungsfehlermeldung:
Elliot
0

Ich hatte das gleiche Problem und es wird behoben, indem Fehler aus Ressourcendateien wie Stil und Farbdateien im Werteordner entfernt werden. In meinem Fall Fehler in den Stilfarben wie folgt:

 <style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar">
    <item name="android:textColorPrimary">**@color/colorPrimary**</item>
    <item name="android:textColorSecondary">**@color/colorPrimaryDark**</item>
</style>
Ravi
quelle
0

Durch Ändern der Version der Unterstützungsbibliothek der zuletzt aktivierten (28.0.0) durch die vorherige (27.1.0) ist der Fehler Android Resource Linking Failedverschwunden.

Es ist zu beachten, dass Version 27.1.0 in unseren Implementierungen maximal zulässig ist. Dies funktioniert, Sie können jedoch auch eine ältere Version verwenden, wenn Sie dies wünschen. Und dies muss in allen Abhängigkeiten verwendet werden, die mit der Zeichenfolge beginnencom.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'
}

Dann Sync Projekt mit Gradle Dateien

GL

Braian Coronel
quelle
0

Das gleiche Problem trat bei mir auf, aber bevor dieser Fehler angezeigt wurde, wurde meine App ausgeführt. Also habe ich nur 2/3 mal rückgängig gemacht. Und wieder Änderungen vorgenommen. Und build app.app lief erfolgreich.

Stur
quelle
0

Ich bin auf dasselbe Problem gestoßen, nachdem ich die folgende Abhängigkeit hinzugefügt habe:

implementation 'com.evernote:android-state:1.4.1'
annotationProcessor 'com.evernote:android-state-processor:1.4.1'

Der Grund war, dass die neueste Version von evernote Abhängigkeiten zu AndroidX verwendet, während ich in meinem Projekt die Unterstützungsbibliotheksversion 27.1.1 hatte. Es gab also die Möglichkeit, Support-Bibliotheken auf 28.0.0 zu aktualisieren, wie die anderen Antworten vermuten lassen, aber das war für ein großes Projekt mit vielen benutzerdefinierten Ansichten etwas schwierig. Also habe ich das Problem behoben, indem ich die evernote-Version auf 1.3.1 heruntergestuft habe.

anro
quelle
0

Es mag banal klingen, aber für mich wurde Build > Clean Projectdieser Fehler ohne weitere Änderungen behoben.

mihai1990
quelle
0

Bei mir trat der Fehler auf, nachdem ich mein Startsymbol mit Asset Studio geändert hatte. Es stellt sich heraus, ic_launcher_foreground.xmldass in der generierten Datei die folgende Zeile oben in der Datei fehlte: <?xml version="1.0" encoding="utf-8"?>

Ein Droide
quelle
Meins war ähnlich. Ich habe eine neue Build-Variante hinzugefügt und hatte zwei dieser Fehler. Der erste ergab keinen Sinn, aber ich habe mich mit dem zweiten Fehler befasst und festgestellt, dass in diesem Build ic_launcher.png
ja928
0

Ich verwende Studio 3.3.1 Build vom 28. Januar.

Für mich wurde die Meldung "Fehler beim Verknüpfen von Android-Ressourcen fehlgeschlagen" angezeigt, die auf eine Zeile in einer Layoutdatei mit ConstraintLayout zeigte, die bis heute ordnungsgemäß funktioniert hatte, als die einzige Änderung an meiner Gradle-Datei auf App-Ebene darin bestand, die folgenden Versionen zu aktualisieren:

android.arch.navigation:navigation-fragment
android.arch.navigation:navigation-ui

von 1.0.0-rc01bis 1.0.0-rc02.

Die Fehlermeldung sagte etwas darüber aus, nicht zu erkennen, layout_constraintTop_toTopOfwas natürlich albern ist, weil es seit Monaten ziemlich glücklich kompiliert wurde.

Ich bin bereits auf 28.0.3 von Build-Tools und compileSdkVersionvon 28. Ich benutze es androidx.appcompatjetzt schon eine Weile überall (habe dieses Projekt Monate zurück zu AndroidX konvertiert).

Ich habe zuerst ein Projekt bereinigt (keine Hilfe) und den Cache / Neustart ungültig gemacht (keine Hilfe). Das betreffende Layout wurde ursprünglich mit definiert

<TextView>, <EditText>Und <ImageView>Komponenten (die gut , bis heute gearbeitet hatte).

Aber nachdem ich die obigen Antworten gelesen hatte, dachte ich, dass hier möglicherweise Verwirrung herrscht, also änderte ich das Layout, um Folgendes zu verwenden:

<androidx.appcompat.widget

Versionen aller verschiedenen Komponenten. Keine Änderung - immer noch den Fehler.

Ich habe dann den <androidx.appcompat.widget.AppCompatTextViewBlock gelöscht, der den Kompilierungsfehler verursacht hat. Ich habe alle Verweise darauf in den anderen Widgets geändert, um stattdessen auf "Eltern" zu verweisen. Habe ein Make gemacht. Diesmal wurde die Kompilierung fehlerfrei abgeschlossen .

Also etwas Seltsames in dieser Widget-Definition, dachte ich ... hier ist, was es war:

<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"/>

Ich habe dann den Block, den ich zuvor mit Strg-V ausgeschnitten hatte, wieder eingefügt und die Referenzen in den anderen Komponenten, die im Layout darauf verweisen, wieder auf diese ID geändert. Kompilierung fehlgeschlagen .

Ich habe den Block erneut ausgeschnitten und in WordPad eingefügt. Nachdem ich dann aus dem WordPad-Einfügen gelesen hatte, tippte ich es tatsächlich wieder ein (dh ich habe diesmal nicht kopiert / eingefügt) - Zeile für Zeile, um das Projekt zu bearbeiten, nachdem ich die minimale Definition eingegeben hatte, und danach wieder, wenn ich in jede neue Zeile einfügen. Jedes Mal, wenn das Projekt sauber kompiliert wurde!

Ich weiß nicht, was ich davon halten soll. Vielleicht war ursprünglich ein falsches unsichtbares Zeichen in der Datei?

tfrysinger
quelle
0

Fand einen der Gründe, die dieses Problem verursachen

Wenn wir versuchen, welche zu verwenden

Zeichenfolge, Stil, Farbe usw.

In einer Manifestdatei, die in Werten nicht vorhanden ist, (string.xml,style.xml,color.xml,etc,)tritt dieser Fehlertyp auf

Vishnu Magar
quelle
0

Ich habe den gleichen Fehler, und ich habe ihn behoben, als ich das AndroidStudio schließe und das Verzeichnis wie C:\Users\Jalal D\.gradle\caches\transforms-1\in den Build-Fehler-Informationen lösche .

103Stil
quelle
0

In meinem Fall habe ich versehentlich eine Eigenschaft gestylt, die nur in Schaltflächen vorhanden ist, und diesen Stil für eine Textansicht hinzugefügt.

<!-- 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>

Das Entfernen der Zeile mit hat android:borderlessButtonStyledas Problem behoben.

Embid123
quelle
0
  • Klicken Sie mit der rechten Maustaste auf den Zeichenordner und wählen Sie "Im Explorer anzeigen " .
  • Suchen Sie die fehlerhafte Datei im geöffneten Dateisystem, wählen Sie sie aus (oder wählen Sie die Dateien in der gesamten Zeichnungsdatei aus) und kopieren Sie sie in die Datei drawable-v24 (löschen Sie die Zeichendatei nicht und erstellen Sie sie, wenn keine Datei drawable-v24 vorhanden ist ).
  • Wählen Sie dann Datei -> Caches ungültig machen / neu starten und
  • Starten Sie Android Studio neu.
Görkem KARA
quelle