android - references - error: failed linking file resources.
Error: error al vincular los recursos de Android(AAPT2 27.0.3 Daemon#0) (24)
Debería haber algún error en los archivos de recursos. Significa que puede haber un valor de atributos fallado. Revise los archivos de recursos y corrija estos valores y disfrute el trabajo.
Tengo este error
Intento 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
El error de enlace 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 sorteos 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: recurso extraíble / bg_main (también conocido como com.example.myproject: drawable / bg_main) no encontró.
De acuerdo con el error anterior, lo primero que debe hacer es revisar todos los recursos extraíbles a los que se accede en la actividad_principal porque las posibilidades son mayores de que encuentre el error. En el peor de los casos, puede terminar comprobando todos sus archivos de recursos.
En mi caso accidentalmente escribí:
app:displayViewTitle="@string/instructions_defineExtract_confirm_email"
Curiosamente, Android Studio pudo navegar la cadena a través de CTRL + clic. Solo estaba dando un error de tiempo de compilación. El cambio a la "separación de puntos" estándar hizo el truco
app:displayViewTitle="@string/instructions.defineExtract.confirm.email"
Encontró una de las razones que causa este problema
Cuando intentamos usar cualquier
cadena, 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
Estaba enfrentando el mismo problema y se resuelve eliminando el error de los archivos de recursos como estilo, archivos de colores en la carpeta de valores. En mi caso, error en los colores de estilo como 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>
Estaba teniendo un problema similar pero salí de la solución, el problema era que estaba usando algo en la dependencia que corresponde al mismo dominio pero con diferentes versiones, asegúrese de que todos sean iguales
Estoy usando Studio 3.3.1 Build del 28 de enero.
Para mí, recibí el mensaje "error al vincular el recurso de Android que falló" apuntando a una línea en un archivo de diseño usando ConstraintLayout que había funcionado correctamente hasta hoy, cuando el único cambio en mi archivo gradle de nivel de aplicación fue actualizar las versiones de:
android.arch.navigation:navigation-fragment
android.arch.navigation:navigation-ui
de
1.0.0-rc01
a
1.0.0-rc02
.
El mensaje de error decía algo acerca de no reconocer
layout_constraintTop_toTopOf
cual, por supuesto, es una tontería porque se había estado compilando bastante felizmente durante meses.
Ya estoy en 28.0.3 de herramientas de compilación y
compileSdkVersion
de 28. He estado usando
androidx.appcompat
todas partes durante un tiempo (convertí este proyecto meses atrás a androidx).
Primero realicé un proyecto limpio (sin ayuda) e invalidando el caché / reinicio (sin ayuda). El diseño en cuestión se había definido originalmente usando
<TextView>
,
<EditText>
y
<ImageView>
(que habían estado funcionando bien hasta hoy).
Pero después de leer las respuestas anteriores, pensé que tal vez de alguna manera se estaba causando confusión, así que cambié el diseño para usar:
<androidx.appcompat.widget
versiones de todos los diversos componentes. Sin cambios: todavía recibí el error.
Luego
<androidx.appcompat.widget.AppCompatTextView
bloque
<androidx.appcompat.widget.AppCompatTextView
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.
Hizo una marca.
Esta vez la compilación se completó sin error
.
Entonces, algo extraño en esa definición de widget que 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 tenía Ctrl-V cortado anteriormente y cambié las referencias a esa ID en los otros componentes que lo hacen referencia en el diseño. La compilación ha fallado .
Corté el bloque nuevamente y lo pegué en WordPad. Luego, leyendo el pegado de WordPad, lo escribí de nuevo (es decir, no copié / pegué esta vez), línea por línea, haciendo un proyecto en el proyecto después de escribir la definición mínima, y luego nuevamente cuando poner en cada nueva línea. ¡Cada vez que el proyecto se compiló limpiamente!
No sé qué hacer con esto. ¿Quizás algún personaje invisible espurio estaba originalmente en el archivo?
Importé nuevos colores a mi proyecto y tuve el mismo problema.
Entonces abrí
styles.xml
y
styles.xml
elementos a colores usando nuevos nombres de colores.
Intente actualizar la última versión de compilación, la versión de destino y compilación y también actualice las dependencias, pero no funciona
En mi caso,
cambiar
<meta-items/>
a
<meta-data/>
en manifiesto funciona para mí ...
Espero que sea útil para alguien ...
Lo resolví agregando
@+id/
antes de todas mis ID.
es decir,
@+id/your_item_id
Me he encontrado 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 de AndroidX, mientras que tenía la versión 27.1.1 de la biblioteca de soporte en mi proyecto. Así que 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 bajando la versión de evernote a 1.3.1.
Nota: Android Studio escupe un montón de errores locos como este si actualiza las bibliotecas de soporte a
28.0.0
y su
compileSdkVersion
no es 28 también.
Para mí, el error apareció después de cambiar el icono de mi lanzador usando Asset Studio.
Resulta que al archivo
ic_launcher_foreground.xml
que se generó le faltaba la siguiente línea en la parte superior del archivo:
<?xml version="1.0" encoding="utf-8"?>
Problema solucionado para mí reemplazando
compileSdkVersion 23
con
compileSdkVersion 28
en
build.gradle (Project: build)
.
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 requeridas en el archivo build.gradle.
Puede sonar banal, pero para mí
Build > Clean Project
solucionó este error sin ningún otro cambio.
Se produjo el mismo problema para mí, 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 construir app.app se ejecutó con éxito.
Si está utilizando Windows 10 y Android Studio 3.2, simplemente puede ir a build.gradle de la aplicación y cambiar la versión.
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 plataforma / android.
También tuve que agregar el siguiente código a los archivos plataformas / android / app / build.gradle y plataformas / 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 plataforma / android /, por ejemplo, en mi caso fue el complemento starter-barcodescanner, así que simplemente revise todos sus archivos .gradle de complementos:
Verifique dos veces el archivo plataformas / android / build.gradle.
Espero que esto ayude.
Tuve el mismo problema, pero fue porque en mis botones layout_width / height olvidé poner dp al final al editarlos. Se agregó dp y se solucionó el problema: /
Verifique su versión del complemento Gradle . Intente degradarlo si ha actualizado a una versión más reciente justo antes de que aparezca este problema. Vaya a Archivo -> Estructura del proyecto . Cambiar a la versión anterior.
com.android.support:support-v4 acaba de recibir una actualización y puede afectar a los complementos que usan la versión actualizada en sus dependencias. Pero si no puede encontrar en las dependencias (como si usa 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 here
Siéntase libre de editar la versión de com.android.support (NO USE EL 28.0.0) porque ese es el problema
me siento tan estúpido - (por alguna razón) tuve un xml vacío en la carpeta dibujable. y AS produjo docenas de errores no relacionados> <
entonces, mi consejo general sería el mismo: revise brevemente cada archivo de recursos.
Al cambiar
la versión de la biblioteca de soporte de la última habilitada
(28.0.0) por
la anterior
(27.1.0)
, el error
Android Resource Linking Failed
desapareció.
Debe tenerse en cuenta que la versión 27.1.0 es la máxima permitida en nuestras implementaciones, lo que funciona, pero puede usar una anterior si lo desea.
Y esto tiene que usarse en todas las dependencias que comienzan con la cadena
com.android.support:
proyecto / aplicación / 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, sincronice el proyecto con archivos Gradle
GL