Error: falló la vinculación de recursos de Android (AAPT2 27.0.3 Daemon # 0)

95

Tengo este error

Estoy intentando reinstalar Android Studio y eliminar la carpeta .gradle, ¿alguna solución, por favor?

    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
fuente

Respuestas:

50

Tenía exactamente el mismo problema. Lo resolvió haciendo lo siguiente: buscando y reemplazando com.android.support:support-v4:+ con com.android.support:support-v4:27.1.0 en el directorio platform / android.

También tuve que agregar el siguiente código a los archivos platform / android / app / build.gradle y platform / android / build.gradle:

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

Editado para responder "¿Dónde está esta configuración com.android.support:support-v4:+?" ...

La configuración probablemente (en este caso) estará en uno de los archivos .gradle de su complemento en el directorio platform / android /, por ejemplo, en mi caso fue el complemento starter-barcodescanner, así que revise todos los archivos .gradle de sus complementos:

ingrese la descripción de la imagen aquí

Verifique dos veces el archivo platform / android / build.gradle.

Espero que esto ayude.

RFourie
fuente
¡Gracias por salvarnos!
Ramesh Murugesan
Gracias me salvaste el dia !! Tuve dias con este problema que me salio de la noche sin saber como mi aplicacion habia dejado de funcionar
LMoreno10
No puedo creer que la solución fuera tan simple, ¡todo lo que se necesitó fue copiar y pegar esos dos archivos gradle! ¡¡Aplausos !!
Shyam
Encontré una de las razones de este problema Cuando usamos cualquier cadena, estilo, color, etc., en el manifiesto que no está presente en los valores (string.xml, style.xml, color.xml, etc.), entonces este tipo de error occer .
Vishnu Magar
Esta solución también funciona cuando las dependencias se actualizan en Android Studio. El propio IDE señalará en los archivos que estas versiones deben coincidir con el
SDK
91

El error de vinculación de recursos de Android también puede aparecer si tiene un error en cualquiera de sus recursos XML. En mi caso, estaba usando la siguiente línea dos veces en uno de mis elementos de diseño XML en la carpeta dibujable:

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

Eliminé la línea duplicada y el error desapareció. El error fue un poco engañoso:

Error en la vinculación de recursos de Android Salida: / Users / johndoe / Desktop / myapp / app / src / main / res / layout / activity_main .xml: 2: error: resource drawable / bg_main (también conocido como com.example.myproject: drawable / bg_main) not encontró.

De acuerdo con el error anterior, lo primero que debe hacer es revisar todos los recursos dibujables a los que se accede en activity_main porque es más probable que encuentre el error. En el peor de los casos, podría terminar revisando todos sus archivos de recursos.

Darush
fuente
4
Esta. Esto resolvió mi problema. Es muy molesto que este error no haya sido señalado por el IDE y que el error de vinculación esté hablando de algo completamente diferente.
ocramot
4
madre de Dios !
Mihir Patel
1
el mío era en realidad: <?xml version="1.0" encoding="UTF-8"?><?xml version="1.0" encoding="UTF-8"?> (en la misma línea: P más difícil de detectar)
Alan Deep
1
El mío fue que estaba usando un recurso en Manifest mientras ya estaba eliminado <meta-data android:name="com.google.android.actions" android:resource="@xml/my_event_session_menu" />
Gpak
2
+1 por ahorrarme algo de tiempo. Lo más molesto es que Android Studio apuntó al archivo incorrecto, lo que me hizo rascarme la cabeza porque el archivo al que decía que no podía vincular estaba bien.
Machine Tribe
46

Nota: Android Studio escupe una gran cantidad de errores locos como este si actualiza las bibliotecas de soporte a 28.0.0y compileSdkVersionno es 28 también.

Daniel Wilson
fuente
14
Ya tenía ambos compileSdkVersion 28y support-v4:28.0.0recibo el mismo error :(
ocramot
1
@ocramot Solucioné el problema degradando el compileSdkVersion a 27
suvojit_007
1
+1. Mi proyecto tiene dos módulos y tenía diferentes versiones (una tenía 29 y la otra era 27). Cuando los puse todos en 29, el error desapareció
voghDev
¡Gracias! En mi caso, tuve que establecer 'minSdkVersion' en lo mismo que 'compileSdkVersion'. De lo contrario, solo se ejecutaría la primera compilación y todas las repeticiones posteriores fallarían con un error similar al de OP
Jim B
7

Si está utilizando Windows 10 y Android Studio 3.2, simplemente puede ir al build.gradle de la aplicación y cambiar la versión.

En dependencias, cambie la versión y compile / sincronice

Syed Raza
fuente
Es el Módulo Gradle. Haga clic en el enlace de arriba para ver la captura de pantalla.
Syed Raza
3
¿Es Windows 10 un requisito?
IgorGanapolsky
7

Problema solucionado para mí reemplazando compileSdkVersion 23con compileSdkVersion 28in build.gradle (Project: build).

Jaime Montoya
fuente
¡Funcionó para mí, gracias! Todavía tengominSdkVersion 23
Stephen Hosking
@StephenHosking ¿Funcionó para usted sin actualizar compileSdkVersionde 23a 28? En ese caso, ¿cuál fue el problema que estaba experimentando originalmente?
Jaime Montoya
Debería haber sido más claro. Tu solución, es decir. Reemplazar compileSdkVersion 23con compileSdkVersion 28funcionó para mí, pero acabo de mencionar que podía salir minSdkVersion 23, como información adicional sobre una solución correcta. Mi problema original era "Error - Falló el enlace de recursos de Android"
Stephen Hosking
@StephenHosking Niza. Bueno, eso funciona para ti ahora.
Jaime Montoya
4

Importé nuevos colores a mi proyecto y tuve el mismo problema. Entonces abrí styles.xmly reasigné elementos a colores usando nuevos nombres de colores.

Oleksandr
fuente
4

Lo resolví agregando @+id/ antes de todos mis ID.

es decir @+id/your_item_id

Sajid2405
fuente
Esto no proporciona una respuesta correcta a la pregunta. proporcione una respuesta correcta y ¿cómo lo hizo y cuál es el problema? \
Yohan Malshika
4

me siento tan estúpido - (por la razón que sea) tenía un xml vacío en la carpeta dibujable. y AS produjo decenas de errores no relacionados> <

por lo tanto, mi consejo general sería el mismo: revise brevemente cada archivo de recursos.

mjollneer
fuente
3

com.android.support:support-v4 se actualizó recientemente y tal vez afecte al complemento que usa la versión actualizada en sus dependencias. Pero si no puede encontrar en las dependencias (como si usara el complemento de cruce de peatones), simplemente coloque este código en la parte superior de su complemento de código gradle (no es necesario agregar build.gradle).

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

Ubicación de ejemplo para poner el código en el complemento de cruce de peatones aquí

Siéntase libre de editar la versión de com.android.support (NO UTILICE EL 28.0.0) porque ese es el problema

Ahmad Azam
fuente
2
Muchas gracias. Estoy usando 27.1.0como mencionó @RFourie.
Ramesh Murugesan
2

Debería haber algún error en los archivos de recursos. Significa que puede haber un valor escrito incorrecto de los atributos. Revise los archivos de recursos y corrija estos valores y disfrute del trabajo.

Razz
fuente
2

Puede haber varias razones para este problema y estas razones se encuentran principalmente en el archivo build.gradle de nivel de recurso o aplicación.

En mi caso, una vista en el archivo de recursos no tenía la dependencia requerida incluida en el archivo build.gradle.

Por lo tanto, asegúrese de incluir todas las dependencias necesarias en el archivo build.gradle.

N. Fatma
fuente
2

Comprueba la versión del complemento de Gradle . Intente degradarlo si ha actualizado a una versión más reciente justo antes de que apareciera este problema. Vaya a Archivo -> Estructura del proyecto . Cambie a la versión anterior.

JeffinJ
fuente
1

Intente actualizar la última versión de compilación, la versión de destino y de compilación y también actualice las dependencias, pero no funciona para mí

En mi caso, el cambio <meta-items/>a <meta-data/>en manifiesto funciona para mí ...

Espero que sea útil para alguien ...

Lokesh
fuente
1

Tuve el mismo problema, pero fue porque en mis botones layout_width / height olvidé poner dp al final al editarlos. Agregado dp y problema solucionado: /

No me juzgues
fuente
1

En mi caso escribí accidentalmente:

app:displayViewTitle="@string/instructions_defineExtract_confirm_email"

Curiosamente, Android Studio pudo navegar por la cadena a través de CTRL + clic. Solo estaba dando un error de Build Time. Cambiar a la "separación de puntos" estándar funcionó

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

Encontré una de las razones que causa este problema.

Cuando intentamos usar cualquier

cuerda, estilo, color, etc.

en el archivo de manifiesto que no está presente en los valores, (string.xml,style.xml,color.xml,etc,)se produce este tipo de error

Vishnu Magar
fuente
1

Tengo el mismo error y lo solucioné cuando cerré AndroidStudio y eliminé el directorio como C:\Users\Jalal D\.gradle\caches\transforms-1\en la información de error de compilación.

103 estilo
fuente
1

Tuve el mismo problema y lo resolví yendo a Archivo -> Estructura del proyecto ... -> Sugerencias y luego Aplicar todo. Como sugirió @JeffinJ, creo que el problema se debió a la actualización del complemento de Gradle.

cie
fuente
0

Estaba teniendo un problema similar, pero salí de la solución, el problema era que estaba usando cualquier cosa en la dependencia que corresponda al mismo dominio pero con diferentes versiones, asegúrese de que todas sean iguales

Shubham Kumar Gupta Ggps
fuente
Instalé Android Studio 3.3.2 anoche. Soy un novato completo. Creé una aplicación "Flutter" e intenté ejecutarla. Recibo el siguiente mensaje de salida y error de enlace:
Elliot
0

Me enfrentaba al mismo problema y se resuelve eliminando el error de los archivos de recursos como archivos de estilo y colores en la carpeta de valores. En mi caso, error en los colores de estilo como se muestra a continuación:

 <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
fuente
0

Cambiando la versión de la librería de soporte de la última habilitada (28.0.0) por la anterior (27.1.0) , el error Android Resource Linking Faileddesaparecía.

Cabe señalar que la versión 27.1.0 es la máxima permitida en nuestras implementaciones, lo cual funciona, pero puede usar una más antigua si lo desea. Y esto debe usarse en todas las dependencias que comienzan con la cadenacom.android.support:

proyecto / app / build.gradle

implementation "com.android.support:appcompat-v7:$rootProject.supportLibraryVersion"
implementation "com.android.support:support-v4:$rootProject.supportLibraryVersion"

proyecto / build.gradle

ext {
    supportLibraryVersion= '27.1.0'
}

Luego, sincroniza el proyecto con los archivos de Gradle

GL

Coronel braian
fuente
0

Me ocurrió el mismo problema, pero antes de recibir este error, mi aplicación se estaba ejecutando. Así que acabo de deshacer 2/3 veces. E hizo cambios de nuevo. Y la compilación app.app se ejecutó correctamente.

Obstinado
fuente
0

Me encontré con el mismo problema después de agregar la siguiente dependencia:

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

Y la razón fue que la última versión de evernote usa dependencias para AndroidX, mientras que tenía la biblioteca de soporte versión 27.1.1 en mi proyecto. Entonces, había una opción de actualizar las bibliotecas de soporte a 28.0.0, como sugieren las otras respuestas, pero eso fue un poco complicado para un proyecto grande con muchas vistas personalizadas. Entonces, resolví el problema degradando la versión de evernote a 1.3.1.

anro
fuente
0

Puede parecer banal, pero para mí Build > Clean Projectsolucionó este error sin ningún otro cambio.

mihai1990
fuente
0

Para mí, el error apareció después de cambiar el ícono de mi lanzador usando Asset Studio. Resulta que al ic_launcher_foreground.xmlarchivo que se generó le faltaba la siguiente línea en la parte superior del archivo: <?xml version="1.0" encoding="utf-8"?>

Un droide
fuente
El mío era similar. Agregué una nueva variante de compilación y tuve dos de estos errores. El primero no tenía sentido, pero profundicé en el segundo error y descubrí que a esta compilación le faltaba ic_launcher.png
ja928
0

Estoy usando Studio 3.3.1 Build desde el 28 de enero.

Para mí, recibía el "error de enlace de recursos de Android fallido" que apuntaba a una línea en un archivo de diseño usando ConstraintLayout que había estado funcionando correctamente hasta hoy, cuando el único cambio en el archivo gradle de mi aplicación era actualizar las versiones de:

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

desde 1.0.0-rc01hasta 1.0.0-rc02.

El mensaje de error decía algo sobre no reconocer lo layout_constraintTop_toTopOfque, por supuesto, es una tontería porque había estado compilando bastante felizmente durante meses.

Ya estoy en 28.0.3 de herramientas de compilación y compileSdkVersionde 28. He estado usando en androidx.appcompattodas partes por un tiempo (convertí este proyecto meses atrás a androidx).

Primero pasé por un proyecto limpio (sin ayuda) e invalidando caché / reinicio (sin ayuda). El diseño en cuestión se había definido originalmente utilizando

<TextView>, <EditText>Y <ImageView>los componentes (que había estado trabajando muy bien hasta hoy).

Pero después de leer las respuestas anteriores, pensé que tal vez de alguna manera se estaba causando confusión aquí, así que cambié el diseño para usar:

<androidx.appcompat.widget

versiones de todos los componentes. Sin cambios, todavía tengo el error.

Luego eliminé el <androidx.appcompat.widget.AppCompatTextViewbloque que estaba causando el error de compilación. Cambié todas las referencias a él en los otros widgets para referirme a "padre" en su lugar. Hice una marca. Esta vez la compilación se completó sin errores .

Entonces, algo extraño en esa definición de widget pensé ... esto es lo que era:

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

Luego pegué el bloque que había cortado con Ctrl-V anteriormente y cambié las referencias a esa ID en los otros componentes que hacen referencia a ella en el diseño. No se pudo compilar .

Corté el bloque de nuevo y lo pegué en WordPad. Luego, leyendo de la pasta de WordPad, en realidad lo volví a escribir (es decir, no copié / pegué esta vez) - línea por línea, haciendo una marca en el proyecto después de que escribí la definición mínima, y ​​luego nuevamente cuando escribí poner en cada nueva línea. ¡Cada vez que el proyecto se compiló limpiamente!

No sé qué hacer con esto. ¿Quizás algún carácter invisible espurio estaba originalmente en el archivo?

tfrysinger
fuente
0

En mi caso, diseñé por accidente una propiedad presente solo en botones y agregué ese estilo para 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>

Eliminar la fila con android:borderlessButtonStylesolucionó el problema.

Embid123
fuente
0
  • Haga clic derecho en la carpeta dibujable y seleccione "Mostrar en el Explorador" .
  • Busque el archivo que falla en el sistema de archivos abierto, selecciónelo (o seleccione los archivos en todo el dibujable), luego cópielos en el archivo drawable-v24 (no elimine el archivo dibujable y créelo si no hay un archivo drawable-v24 ).
  • Luego elija Archivo -> Invalidar cachés / Reiniciar y
  • reinicia Android Studio.
Görkem KARA
fuente
Los puntos 1 y 2 funcionan para mí. Pero ahora necesito colocar los archivos que fallan en dos lugares, uno en drawable y otro en drawable-v24.
Aman Goyal
0

En caso de que se encuentre con esto: en mi caso, tenía una cadena traducida, pero la cadena aún no aparecía en el archivo strings.xml predeterminado. Se agregó la cadena que faltaba a strings.xml y se resolvió.

ea_
fuente
0

En mi caso, el error apuntaba al archivo AndroidManifest.xml. Tenía esta línea:

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

Lo cual, no estoy seguro de por qué Android Studio lo puso allí. No cambié mi archivo de manifiesto, y esto nunca sucedió hasta que actualicé a la versión 3.5.3, por lo que AS debe haberlo hecho por mí. De todos modos, la línea debería haberse visto así:

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

Una vez que cambié eso, todo estuvo bien.

Will Buffington
fuente