Errore: collegamento della risorsa Android non riuscito (AAPT2 27.0.3 Daemon n. 0)


95

Ho questo errore

Sto provando a reinstallare Android Studio e rimuovere la cartella .gradle, qualche soluzione per favore?

    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

Risposte:


50

Aveva esattamente lo stesso problema. Risolto effettuando le seguenti operazioni: cercando e sostituendo com.android.support:support-v4:+ con com.android.support:support-v4:27.1.0 nella directory platform / android.

Inoltre ho dovuto aggiungere il seguente codice ai file piattaforme / android / app / build.gradle e piattaforme / android / build.gradle:

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

Modificato per rispondere "Dov'è questa impostazione com.android.support:support-v4:+?" ...

L'impostazione sarà probabilmente (in questo caso) in uno dei file .gradle del tuo plug-in nella directory platform / android /, ad esempio nel mio caso era il plug-in starter-barcodescanner quindi basta passare attraverso tutti i file .gradle dei plug-in:

inserisci qui la descrizione dell'immagine

Controlla il file platform / android / build.gradle.

Spero che sia di aiuto.


Grazie ci hai salvato!
Ramesh Murugesan

Grazie mi salvi la giornata !! Ho avuto giorni con questo problema che mi è venuto fuori dalla notte senza sapere come la mia applicazione avesse smesso di funzionare
LMoreno10

Non riesco a credere che la soluzione fosse così semplice, è bastata una copia incolla su quei due file gradle! Applausi !!
Shyam

Trovato uno dei motivi di questo problema Quando usiamo qualsiasi stringa, stile, colore, ecc., In manifest che non è presente nei valori (string.xml, style.xml, color.xml, ecc.), Questo tipo di errore si verifica .
Vishnu Magar

Questa correzione funziona anche quando le dipendenze vengono aggiornate in Android Studio. L'IDE stesso indicherà nei file che queste versioni devono corrispondere
all'SDK

91

L' errore di collegamento della risorsa Android non riuscito può essere visualizzato anche se si verifica un errore in una delle risorse XML. Nel mio caso stavo usando la seguente riga due volte in uno dei miei drawable XML nella cartella drawable:

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

Ho rimosso la riga duplicata e l'errore è scomparso. L'errore è stato un po 'fuorviante:

Collegamento delle risorse Android non riuscito Output: / Users / johndoe / Desktop / myapp / app / src / main / res / layout / activity_main .xml: 2: errore: resource drawable / bg_main (aka com.example.myproject: drawable / bg_main) no trovato.

Secondo l'errore di cui sopra, la prima cosa che devi fare è leggere tutte le risorse disegnabili a cui si accede in activity_main perché le probabilità sono maggiori che troverai l'errore. Nel peggiore dei casi potresti finire per controllare tutti i tuoi file di risorse.


4
Questo. Questo ha risolto il mio problema. È molto fastidioso che questo errore non sia stato segnalato dall'IDE e l'errore di collegamento stava parlando di qualcos'altro completamente.
ocramot

4
madre di Dio !
Mihir Patel

1
il mio era in realtà: <?xml version="1.0" encoding="UTF-8"?><?xml version="1.0" encoding="UTF-8"?> (sulla stessa linea: P più difficile da rilevare)
Alan Deep,

1
Il mio era che stavo usando una risorsa in Manifest mentre era già cancellata <meta-data android:name="com.google.android.actions" android:resource="@xml/my_event_session_menu" />
Gpak

2
+1 per avermi risparmiato un po 'di tempo. La cosa più fastidiosa è che Android Studio ha indicato il file sbagliato, il che mi ha fatto grattare la testa perché il file a cui diceva che non poteva collegarsi andava bene.
Machine Tribe

46

Nota: Android Studio emette un carico di errori folli come questo se aggiorni le librerie di supporto a 28.0.0e anche il tuo compileSdkVersionnon è 28.


14
Avevo già entrambi compileSdkVersion 28e support-v4:28.0.0e ricevo lo stesso errore :(
ocramot

1
@ocramot Ho risolto il problema effettuando il downgrade di compileSdkVersion a 27
suvojit_007

1
+1. Il mio progetto ha due moduli e avevo versioni diverse (uno era 29 e l'altro era 27). Quando li ho impostati tutti su 29 l'errore era sparito
voghDev

Grazie! Nel mio caso ho dovuto impostare "minSdkVersion" allo stesso modo di "compileSdkVersion". Altrimenti verrebbe eseguita solo la prima build e tutte le ripetizioni successive fallirebbero con un errore simile a OP
Jim B,

7

Se utilizzi Windows 10 e Android Studio 3.2, puoi semplicemente andare al file build.gradle dell'app e cambiare la versione.

In dipendenze, cambia versione e crea / sincronizza


È il Modulo Gradle. Fare clic sul collegamento sopra per vedere lo screenshot.
Syed Raza

3
Windows 10 è un requisito?
IgorGanapolsky

7

Problema risolto per me sostituendo compileSdkVersion 23con compileSdkVersion 28in build.gradle (Project: build).


Ha funzionato per me, grazie! Ho ancoraminSdkVersion 23
Stephen Hosking il

@StephenHosking Ha funzionato per te senza eseguire l' aggiornamento compileSdkVersionda 23a 28? In quel caso, qual era il problema che stavi riscontrando originariamente?
Jaime Montoya il

Avrei dovuto essere più chiaro. La tua soluzione, ad es. sostituire compileSdkVersion 23con ha compileSdkVersion 28funzionato per me, ma ho appena detto che è stato in grado di lasciare minSdkVersion 23, come informazioni extra su una soluzione corretta. Il mio problema originale era "Errore - Collegamento risorse Android non riuscito"
Stephen Hosking

@StephenHosking Nice. Bene, ora funziona per te.
Jaime Montoya

4

Ho importato nuovi colori nel mio progetto e ho riscontrato lo stesso problema. Quindi ho aperto styles.xmle riassegnato gli elementi ai colori usando nuovi nomi di colori.


4

L'ho risolto aggiungendo @+id/ prima tutti i miei ID.

cioè @+id/your_item_id


Questo non è fornire la risposta giusta alla domanda. fornire una risposta giusta e come l'hai fatto e qual è il problema ?. \
Yohan Malshika

4

mi sento così stupido - (per qualsiasi motivo) avevo un xml vuoto nella cartella disegnabile. e AS ha prodotto dozzine di errori non correlati> <

quindi, il mio consiglio generale sarebbe lo stesso: controlla brevemente ogni file di risorse.


3

com.android.support:support-v4 è stato aggiornato di recente e potrebbe influire sui plug-in che utilizzano la versione aggiornata nelle loro dipendenze. Ma se non riesci a trovare nelle dipendenze (come se usi il plug-in crosswalk), metti semplicemente questo codice in cima al tuo plug-in gradle di codice (non è necessario aggiungere build.gradle).

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

Posizione di esempio per inserire il codice nel plugin crosswalk qui

Sentiti libero di modificare la versione di com.android.support (NON USARE IL 28.0.0) perché questo è il problema


2
Molte grazie. Sto usando 27.1.0come menzionato @RFourie.
Ramesh Murugesan

2

Dovrebbe esserci qualche errore nei file di risorse. Significa che potrebbe mancare il valore digitato degli attributi. Passa attraverso i file di risorse e correggi questi valori e goditi il ​​lavoro.


2

Possono esserci più ragioni per questo problema e queste ragioni sono principalmente nel file build.gradle a livello di risorsa o app.

Nel mio caso, una vista nel file di risorse non aveva la dipendenza richiesta inclusa nel file build.gradle.

Quindi, assicurati di includere tutte le dipendenze richieste nel file build.gradle.


2

Controlla la tua versione del plugin Gradle . Prova a eseguire il downgrade se hai eseguito l'aggiornamento a una versione più recente appena prima che si presentasse questo problema. Vai a File -> Struttura del progetto . Passa alla versione precedente.


1

Prova ad aggiornare l'ultima versione di build, destinazione e compilare la versione e anche aggiornare le dipendenze ma non funziona per me

Nel mio caso cambia <meta-items/>in<meta-data/> in manifest funziona per me ...

Spero sia utile per qualcuno ...


1

Ho avuto lo stesso problema, ma era perché nei miei pulsanti layout_width / height ho dimenticato di mettere dp alla fine durante la modifica. Aggiunto DP e problema risolto: /


1

Nel mio caso ho scritto per sbaglio:

app:displayViewTitle="@string/instructions_defineExtract_confirm_email"

È interessante notare che Android Studio è stato in grado di navigare nella stringa tramite CTRL + clic. Stava solo dando l'errore di Build Time. Il passaggio alla "separazione dei punti" standard ha funzionato

app:displayViewTitle="@string/instructions.defineExtract.confirm.email"

1

Trovato uno dei motivi che causa questo problema

Quando proviamo a usare any

stringa, stile, colore, ecc,

nel file manifest che non è presente nei valori (string.xml,style.xml,color.xml,etc,)si verifica questo tipo di errore


1

ho avuto lo stesso bug e l'ho risolto quando chiudo AndroidStudio ed elimino la directory come C:\Users\Jalal D\.gradle\caches\transforms-1\nelle informazioni sull'errore di build.


1

Ho avuto lo stesso problema e l'ho risolto andando su File -> Struttura progetto ... -> Suggerimenti e poi Applica tutto. Come suggerito da @JeffinJ, penso che il problema fosse dovuto all'aggiornamento del plugin Gradle.


0

Avevo un problema simile ma sono uscito dalla soluzione, il problema era che stavi usando qualsiasi cosa nella dipendenza che corrisponde allo stesso dominio ma con versioni diverse assicurati che siano tutte uguali


Ho installato Android Studio 3.3.2 la scorsa notte. Sono un principiante assoluto. Ho creato un'applicazione "Flutter" e ho provato a eseguirla. Ricevo il seguente messaggio di output e collegamento di errore:
Elliot

0

Stavo affrontando lo stesso problema e si è risolto rimuovendo l'errore dai file di risorse come i file di stile, colori nella cartella dei valori. Nel mio caso, errore nei colori di stile come di seguito:

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

0

Cambiando la versione della libreria di supporto dell'ultima abilitata (28.0.0) dalla precedente (27.1.0) , l'erroreAndroid Resource Linking Failed scomparso.

Va notato che la versione 27.1.0 è la massima consentita nelle nostre implementazioni, il che funziona, ma puoi usarne una più vecchia se lo desideri. E questo deve essere utilizzato in tutte le dipendenze che iniziano con la stringacom.android.support:

progetto / 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'
}

Quindi, sincronizza il progetto con i file Gradle

GL


0

Lo stesso problema si è verificato per me, ma prima di ricevere questo errore, la mia app era in esecuzione. Quindi ho annullato solo 2/3 volte. E ha fatto di nuovo i cambiamenti. E build app.app è stato eseguito correttamente.


0

Ho riscontrato lo stesso problema dopo aver aggiunto la seguente dipendenza:

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

E il motivo era che l'ultima versione di evernote utilizza dipendenze da AndroidX, mentre nel mio progetto avevo la versione 27.1.1 della libreria di supporto. Quindi c'era un'opzione per aggiornare le librerie di supporto a 28.0.0, come suggeriscono le altre risposte, ma era un po 'complicato per un progetto di grandi dimensioni con molte visualizzazioni personalizzate. Quindi, ho risolto il problema eseguendo il downgrade della versione di evernote alla 1.3.1.


0

Può sembrare banale, ma per me ho Build > Clean Projectrisolto questo errore senza altre modifiche.


0

Per me, l'errore è apparso dopo aver cambiato la mia icona di avvio utilizzando Asset Studio. Si scopre che il ic_launcher_foreground.xmlfile che è stato generato mancava la seguente riga all'inizio del file: <?xml version="1.0" encoding="utf-8"?>


Il mio era simile. Ho aggiunto una nuova variante di build e ho riscontrato due di questi errori. Il primo non aveva senso, ma ho scavato nel secondo errore e ho scoperto che questa build mancava ic_launcher.png
ja928

0

Sto usando Studio 3.3.1 Build dal 28 gennaio.

Per me stavo ricevendo l'errore "errore collegamento risorse Android non riuscito" che puntava a una riga in un file di layout utilizzando ConstraintLayout che funzionava correttamente fino ad oggi, quando l'unica modifica al file gradle a livello di app era aggiornare le versioni di:

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

dal 1.0.0-rc01al 1.0.0-rc02.

Il messaggio di errore diceva qualcosa sul non riconoscere il layout_constraintTop_toTopOfche ovviamente è sciocco perché si compilava abbastanza felicemente da mesi.

Sono già sulla 28.0.3 degli strumenti di compilazione e compileSdkVersionsulla 28. Uso androidx.appcompatovunque da un po 'di tempo ( ho convertito questo progetto mesi indietro in androidx).

Per prima cosa ho eseguito un progetto pulito (nessun aiuto) e invalidando la cache / riavvio (nessun aiuto). Il layout in questione era stato originariamente definito utilizzando

<TextView>, <EditText>E <ImageView>componenti (che era stato lavorando bene fino ad oggi).

Ma dopo aver letto le risposte di cui sopra ho pensato che forse in qualche modo ci fosse confusione qui, quindi ho cambiato il layout per utilizzare:

<androidx.appcompat.widget

versioni di tutti i vari componenti. Nessun cambiamento - ho ancora ricevuto l'errore.

Ho quindi eliminato il <androidx.appcompat.widget.AppCompatTextViewblocco che causava l'errore di compilazione. Ho cambiato tutti i riferimenti ad esso negli altri widget per fare riferimento a "genitore" invece. Fatto un trucco. Questa volta la compilazione è stata completata senza errori .

Quindi qualcosa di strano nella definizione del widget che ho pensato ... ecco cos'è:

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

Ho quindi incollato nuovamente il blocco che avevo tagliato Ctrl-V in precedenza e ho cambiato i riferimenti a quell'ID negli altri componenti che lo fanno riferimento nel layout. Compilazione fallita .

Ho tagliato di nuovo il blocco e l'ho incollato su WordPad. Quindi leggendo dall'incolla di WordPad, l'ho effettivamente digitato di nuovo (cioè non ho copiato / incollato questa volta) - riga per riga, facendo un trucco sul progetto dopo aver digitato la definizione minima, e poi di nuovo in seguito quando ho inserire ogni nuova riga. Ogni volta che il progetto è stato compilato in modo pulito!

Non so cosa pensare di questo. Forse qualche carattere invisibile spurio era originariamente nel file?


0

Nel mio caso ho disegnato per sbaglio una proprietà presente solo nei pulsanti e ho aggiunto quello stile per un 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>

La rimozione della riga con android:borderlessButtonStylerisolto il problema.


0
  • Fare clic con il tasto destro sulla cartella disegnabile e selezionare "Mostra in Explorer" .
  • Trovare il file non riuscendo nel file system aperto, selezionarli (o selezionare i file in tutto il drawable), poi copiare loro al drawable-V24 di file (non eliminare il file drawable e creare, se non v'è alcun file drawable-v24 ).
  • Quindi scegli File -> Invalidate Caches / Restart e
  • riavvia Android Studio.

I punti 1 e 2 funzionano per me. Ma ora ho bisogno di posizionare i file in errore in due posti uno in drawable e l'altro in drawable-v24.
Aman Goyal

0

Nel caso in cui ti imbatti in questo: nel mio caso avevo una stringa tradotta, ma la stringa non appariva ancora nel file predefinito strings.xml. Aggiunta la stringa mancante a strings.xml e il problema è stato risolto.


0

Nel mio caso l'errore puntava al file AndroidManifest.xml. Ho avuto questa linea:

<meta-data
            android:name="com.google.android.actions"
            android:resource="@xml/popup_info.xml" />

Il che, non sono sicuro del motivo per cui Android Studio lo abbia messo lì. Non ho cambiato il mio file manifest, e questo non è mai successo fino a quando non ho aggiornato alla versione 3.5.3, quindi AS deve averlo fatto per me. Ad ogni modo, la linea avrebbe dovuto assomigliare a questa:

<meta-data
            android:name="com.google.android.actions"
            android:resource="@layout/popup" />

Una volta che l'ho cambiato, è andato tutto bene.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.