web-dev-qa-db-esp.com

Error: com.Android.tools.aapt2.Aapt2Exception: Error AAPT2: verifique los registros para obtener más detalles

Esta es la salida de mi consola Gradle, no puedo construir mi proyecto

D:\Android Projects\....\app\src\main\res\layout\topic_view_header.xml
Error:error: resource attr/?? (aka -packagename- :attr/??) not found.
Error:error: resource attr/?? (aka -packagename-:attr/??) not found.
Error:error: resource attr/?? (aka -packagename-:attr/??) not found.
Error:resource attr/?? (aka -packagename-:attr/??) not found.
Error:resource attr/?? (aka -packagename-:attr/??) not found.
Error:resource attr/?? (aka -packagename-:attr/??) not found.
Error:failed linking file resources.
Error:Java.util.concurrent.ExecutionException: 
Java.util.concurrent.ExecutionException: 
com.Android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details
Error:Java.util.concurrent.ExecutionException: 
com.Android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details
Error:com.Android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for 
details
Error:Execution failed for task ':app:processDebugResources'.
> Failed to execute aapt
Information:BUILD FAILED in 27s
Information:11 errors
Information:0 warnings

Android Studio 3.0 RC 2

120
Farhan Ali

Actualización 2 (Siga este enfoque)

No deberías hacer esto ahora. En su lugar arregla todos los errores. Esto es solo una solución hasta que se elimina. Después de eso, tendrás que arreglar los errores manualmente de todos modos.

Intente actualizar su plugin de gradle a 3.3.0-alpha06 para verificar si eso soluciona su problema.

Actualización 1:

Los problemas de caracteres que no son ASCII se han solucionado en AAPT2 y Android Gradle Plugin ahora (¡yay!). En lugar de deshabilitar AAPT2 ahora, solo puede usar la versión 3.2.0-alpha11 del plugin gradle de Android o una versión más reciente y no debería volver a encontrar este error. 

Respuesta original

Aapt2 está habilitado de forma predeterminada cuando utiliza el complemento de Android para gradle 3.0. 

Esto es para

mejorar el procesamiento incremental de recursos

como se indica aquí .

Pero si tiene problemas, puede volver a la versión anterior agregando esto en gradle.properties

Android.enableAapt2=false
104
Yashasvi

ACTUALIZACIÓN

Hay disponible una nueva versión de Gradle y Android-gradle-plugin que soluciona estos problemas.

build.gradle (nivel superior)

buildscript {
    dependencies {
        classpath 'com.Android.tools.build:gradle:3.2.1'
    }
}

gradle-wrapper.properties

distributionUrl=https\://services.gradle.org/distributions/gradle-4.8-all.Zip

RESPUESTA ANTERIOR

Si desactivas AAPT2 solo estás ocultando el problema real.

Tenga en cuenta que AAPT1 puede eliminarse en el futuro, por lo que está obligado a usar AAPT2. En realidad, la guía de migración no es difícil de seguir, ya que no ve tantos cambios al mismo tiempo, de esta manera es una prueba de futuro.

Jerarquías de elementos en el manifiesto de Android

En versiones anteriores de AAPT, los elementos anidados en nodos incorrectos en El manifiesto de Android se ignoran o dan como resultado una advertencia. Para el ejemplo de , Considere la siguiente muestra:

<manifest xmlns:Android="http://schemas.Android.com/apk/res/Android"
   package="com.example.myname.myapplication">
   <application
       ...
       <activity Android:name=".MainActivity">
           <intent-filter>
               <action Android:name="Android.intent.action.MAIN" />
               <category Android:name="Android.intent.category.LAUNCHER" />
           </intent-filter>
           <action Android:name="Android.intent.action.CUSTOM" />
       </activity>
   </application>
</manifest>

Por lo tanto, primero debe verificar si realmente sigue la estructura de Manifiesto correcta como se muestra a continuación.

Estructura del archivo de manifiesto

El fragmento de código a continuación muestra la estructura general del archivo de manifiesto Y cada elemento que puede contener. Cada elemento, junto con Todos sus atributos, está completamente documentado en un archivo separado. 

<manifest>

    <uses-permission />
    <permission />
    <permission-tree />
    <permission-group />
    <instrumentation />
    <uses-sdk />
    <uses-configuration />  
    <uses-feature />  
    <supports-screens />  
    <compatible-screens />  
    <supports-gl-texture />  

    <application>

        <activity>
            <intent-filter>
                <action />
                <category />
                <data />
            </intent-filter>
            <meta-data />
        </activity>

        <activity-alias>
            <intent-filter> . . . </intent-filter>
            <meta-data />
        </activity-alias>

        <service>
            <intent-filter> . . . </intent-filter>
            <meta-data/>
        </service>

        <receiver>
            <intent-filter> . . . </intent-filter>
            <meta-data />
        </receiver>

        <provider>
            <grant-uri-permission />
            <meta-data />
            <path-permission />
        </provider>

        <uses-library />

    </application>

</manifest>
95
Enzokie

He tenido un error en mi diseño XML. Así que compruebe su diseño XML para errores.

17
Benjamin Ronneling

Verifique la pestaña de la consola gradle en Android studio (por defecto en la esquina inferior derecha). En mi caso hubo errores como este:

C:\Users\Jozef Bar??k\.gradle\caches\transforms-1\files-1.1\appcompat-v7-25.4.0.aar\d68bb9d2059935a7891196f4dfb81686\res\drawable-hdpi-v4\abc_ic_menu_share_mtrl_alpha.png: error: file not found.

Error: Java.util.concurrent.ExecutionException: com.Android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details
:app:mergeDebugResources FAILED

Resolví el problema al configurar el usuario de gradle en casa en otra ubicación sin caracteres blancos o especiales: 

C:\Android\.gradle

Puede configurarlo configurando " Ruta del directorio de servicio " en el cuadro de diálogo de configuración de Gradle. En mi caso, fue necesario eliminar el antiguo directorio .gradle en la ubicación anterior y reiniciar Android studio.

13
Jozef

Mi problema se debió a un nombre de archivo de imagen que terminó con .9.png . Cambié el final a .png y el problema desapareció. Obtuve la sugerencia del seguimiento de pila en la consola de Gradle: El mensaje superior era "Ejecución fallida para la tarea: aplicación: mergeDebugResources " y el mensaje inferior era "com.Android.builder. png . AaptProcess $ NotifierProcessOutput.out "

Espero el día en que Gradle muestre mensajes de error más útiles ...

8
Samil

Teniendo el mismo problema aquí. Como lo señaló @Izabela Orlowska, este problema probablemente se deba a caracteres especiales en la ruta (archivos de Android, recursos, etc.).

Para mí: tener ří en el nombre de la carpeta causó todos los problemas. Asegúrate de no tener ningún carácter especial en las rutas. Deshabilitar AAPT2 es solo una "solución" temporal. La ruta de su proyecto contiene caracteres no ASCII Android studio

7
Jiří

Acabo de tener este problema al intentar usar el enlace de datos y declarar la etiqueta de diseño. Sé que es un poco tarde, pero por el bien de cualquier persona que encuentre este problema, Lo que hice para resolver el problema después de tantos intentos fue que en su diseño raíz cuando no está usando el enlace de datos, por ejemplo, esto 

  <Android.support.constraint.ConstraintLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
        xmlns:app="http://schemas.Android.com/apk/res-auto"
        xmlns:tools="http://schemas.Android.com/tools"
        Android:layout_width="match_parent"
        Android:layout_height="match_parent"
        tools:context=".MainActivity">     </Android.support.constraint.ConstraintLayout>

eliminar el 

xmlns:Android="http://schemas.Android.com/apk/res/Android"
        xmlns:app="http://schemas.Android.com/apk/res-auto"
        xmlns:tools="http://schemas.Android.com/tools"

y simplemente póngalo en su etiqueta de diseño ( es decir, si está usando enlace de datos )

<layout xmlns:Android="http://schemas.Android.com/apk/res/Android"
    xmlns:app="http://schemas.Android.com/apk/res-auto"
    xmlns:tools="http://schemas.Android.com/tools">

</layout>

y espero que funcione. El Android.enableAapt2=false no me funcionó, así que tengo que eliminar todo y tratar de averiguar por qué me sale el error cuando coloco la etiqueta de diseño y uso el enlace de datos, por lo que se me ocurrió la solución. Espero eso ayude

6
CodeAndWave

Dado que en algún momento en el futuro el soporte para AAPT (1) quedará en desuso, sería bueno identificar el motivo del error que informó. 
¿Podría proporcionar el contenido del archivo\app\src\main\res\layout\topic_view_header.xml? A partir de los signos de interrogación, es posible que esté usando caracteres no ASCII, que AAPT2 todavía tiene algunos problemas con. Si de hecho son caracteres no ASCII, siga el error en https://issuetracker.google.com/68262818 .

Actualizar: El problema se solucionó en Android gradle plugin versión 3.2.0-alpha11 o más reciente.

5
Izabela Orlowska

He arreglado el error con tres pasos. 
1. Comprobé el problema FUENTE 
2. Siempre que la cadena/texto sea correcto, fue la CAUSA 
3. Limpié el proyecto, lo encontrarás en BUILD. 
 My project

5
Bukunmi

Actualización importante

No agregue esta línea a su proyecto como otras respuestas. Porque es ya resuelto in más reciente Gradle versiones.

Puede actualizar su versión de compilación en Nivel de proyecto build.gradlea más reciente. 

buildscript {
    dependencies {
        // choose latest if available
        classpath 'com.Android.tools.build:gradle:3.3.0-alpha06'
    }
}

y gradle-wrapper.properties

// choose latest if available
distributionUrl=https\://services.gradle.org/distributions/gradle-4.9-all.Zip

¡Eso es todo! Sincroniza y corre, bingo!

Más información Documentación de Android

Si agrega, recibirá una advertencia Android.enableAapt2=false

ADVERTENCIA: La opción 'Android.enableAapt2' está en desuso y no debe usarse Más. Use 'Android.enableAapt2 = true' para eliminar esta advertencia . Se eliminará a finales de 2018.

2
Khemraj

También me encontré con este error. Para mí, fue cuando cambié el SDK de destino de 26 a 25. Pude solucionar el problema cambiando la versión de dependencia de appcompat de 

implementation 'com.Android.support:appcompat-v7:26.1.0'

implementation 'com.Android.support:appcompat-v7:25.4.0'

Esto permitirá al compilador acceder a los atributos de estilo que actualmente no puede encontrar. Esto realmente solucionará el problema en lugar de enmascarar el problema real como sugirió Enzokie.

2
hlbaker

Recibí el mismo error AAPT2 error: verifique los registros para obtener detalles y apliqué las soluciones anteriores, según la solución más común, abrí gradle.properties y agregué línea 

Android.enableAapt2 = falso

para la solución, pero recibí un error El 'comando' del proceso 'D:\Android\sdk\Sdk\build-tools\27.0.3\aapt.exe' 'terminó con un valor de salida no cero 1

Pero después de muchas búsquedas, encontré que hay un problema en el archivo xml del diseño que repetí las líneas en el archivo xml del diseño, que es el siguiente:

xmlns:Android="http://schemas.Android.com/apk/res/Android"
xmlns:app="http://schemas.Android.com/apk/res-auto"

Quitar Repetir líneas de un archivo xml y reconstruir el proyecto y Listo.

2
hetuka kodekar

Tuve exactamente el mismo problema: después de actualizar a Android Studio 3.1.2, mi proyecto no se compilaría con un error AAPT2 que me indicaba que no se podían encontrar algunos de los elementos dibujables a los que hace referencia styles.xml. Deshabilitar AAPT2 ya no es una solución, ya que la configuración está obsoleta y se eliminará a finales de 2018.

Culprit era una línea vacía justo antes de la decleración xml en un archivo layout.xml totalmente no relacionado ... Así que el archivo layout.xml comenzó así:

//empty line//
<?xml version="1.0" encoding="utf-8"?>

Eliminó la línea vacía y todo funcionó de nuevo como un encanto. Increíble e improbable, pero cierto.

Android Studio en realidad dio una advertencia porque el archivo no comenzó con la eliminación de XML (debido a la línea vacía). Pero la advertencia solo es visible cuando el archivo se abre en el editor.

2
Andy

En mi caso, estaba usando el código de color incorrecto #CC00000 que no es válido porque tiene 7 dígitos pero el código de color debería tener 3 o 6 u 8 dígitos más el prefijo #

2
Suraj Vaishnav

No estoy seguro de si esto ya ha sido respondido por usted, pero permítame hacer un balance. Hace poco enfrenté un problema similar y pude identificar el problema exacto desde la pestaña de compilación al lado del logcat. Mi problema fue causado por un error de familia de fuentes en el XML. Estoy usando la última versión de Android Studio con la actualización de marzo de 2018.

1
Beast77

En mi caso, el problema real fue que después de generar el Activo de imagen para generar el ícono mipmap del lanzador para mi proyecto, el archivo generado ic_launcher_foreground.xml tenía un error interno (se generó incorrectamente). Faltaba una etiqueta xml de cierre al final del archivo, </ vector> faltaba.

1
user3098756

Como señaló @Izabela Orlowska: En mi caso, el problema ocurrió debido a algunos archivos que no se pudieron encontrar dentro de la carpeta de caché de Gradle. (Sistema operativo Windows)

La ruta predeterminada de gradle estaba dentro de mi carpeta de usuario. El camino contenía diéresis y un espacio. Moví la carpeta gradle estableciendo las variables de entorno GRADLE_HOME y GRADLE_USER_HOME en alguna carpeta recién creada sin diéresis o espacios en la ruta. Esto solucionó el problema para mí.

1
Robin J

Según lo sugerido por otros,

Android.enableAapt2=false

es la solución más común.

Pero en mi caso, el error se debió a diferentes versiones en compileSdkVersion y buildToolsVersion .

Asegúrese de que la versión principal se mantiene igual.

1
VickyAbishek

La excepción de recurso significa que hay un error en sus recursos, cualquier archivo de la carpeta de recursos está dañado, intente abrir todas las imágenes en la carpeta dibujable para ver si se están abriendo bien.

Hay un buen comando para verificar si hay pngs de recursos dañados.

f -name "*.png" | xargs -L 1 -I{} file  -I {} | grep -v 'image/png; charset=binary$'
1
garry

No use este Android.enableAapt2 = falso, Esto no es una solución. descubra el error que se muestra exactamente en su cuadro de resultados de compilación, haga clic en la vista Alternar para encontrar el error exacto o el uso de excepción 

 compileSdkVersion 28
 buildToolsVersion "28.0.3" 

use esto en Gradel-Wrapper

 distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.1-all.Zip

y siga las instrucciones eliminar o actualizar la biblioteca externa o dependencias.

Parece un error relacionado con recursos . Yo empezaría allí.

Obtuve esto ("Error: com.Android.tools.aapt2.Aapt2Exception: error AAPT2: revise los registros para obtener más información") la primera vez relacionada con las imágenes. Resize resuelto. O en otro momento simplemente reparamos los enlaces a los recursos. 

1
Rares Serban

Tuve un problema muy similar. Se resolvió eliminando la caché de gradle (~/.gradle/caches en linux), lo que obligó a Android Studio a volver a descargar y generar todo.

1
happylego91

En mi caso, se solucionó agregando una referencia al paquete de diseño de restricciones

    implementation 'com.Android.support.constraint:constraint-layout:1.1.0'
1
Jim Factor

Compruebe si alguno de sus nuevos archivos XML tiene algún problema. Vaya a los problemas de Android y vea si hay archivos XML allí. Sin embargo, el error no se muestra en el archivo XML correcto que tiene el problema.

En mi caso, agregué dos encabezados en el mismo archivo XML. 

Algo como eso: 

1
André Luiz Reis

También me enfrento a este problema. "Error AAPT2: verifique los registros para obtener detalles" con la versión de estudio 3.1.2 cuando se crea la aplicación por primera vez.

Estaba usando 'com.Android.support:appcompat-v7:26.1.0' y no se encontraron algunos estilos cuando veo los registros de errores. Así que lo cambié a 'com.Android.support:appcompat-v7:25.3.1' de mi proyecto de trabajo y el problema se resolvió. 

Intentalo.

Si aún tienes problemas, prueba con v7: 26+ en lugar de la versión exacta. Esto definitivamente resolverá el problema. 

1
sudhanshu

También he tenido un problema así, el original es la bandeja del sistema de mi computadora esta ruta:

C:\Usuarios\'aparecen caracteres especiales'\.Android apareció en chino,

y ahora he cambiado el camino a:

C:\Users\hjc\.Android. 

La razón es el problema de los caracteres especiales. Es por esta razón que conduce a problemas de la excepción appt2Exception

1
George Williams

Cerrar el proyecto y reiniciar Android Studio solucionó este problema para mí.

Mientras se reiniciaba, Android studio notificó que necesitaba descargar los SDK faltantes, así que una vez que se solucionó, el problema se solucionó.

1
user8231406

Recibí este error cuando el nombre del proyecto era muy largo, y la ubicación donde estaba guardando el proyecto se agregó. Mover el proyecto a otra ubicación para que los nombres de los archivos no crucen el límite del sistema resolvió el error para mí. 

C:\Users\<UserName>\AndroidStudioProjects\From Github\AdvancedAndroid_Emojify-TLIB.02-Exercise-DetectFaces\AdvancedAndroid_Emojify-TLIB.02-Exercise-DetectFaces\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values\values.xml
Error:error: file not found.
Error:Java.util.concurrent.ExecutionException: com.Android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details
Error:Execution failed for task ':app:mergeDebugResources'.
Error: Java.util.concurrent.ExecutionException: com.Android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details
1
Tanusha Kamat

Compruebe las siguientes cosas en su proyecto:

  • Asegúrese de que cualquier archivo XML no tenga espacio en blanco al inicio del archivo.

  • Asegúrese de que cualquier archivo extraíble no tenga ningún problema, como mayúsculas o cualquier símbolo especial en su nombre.

  • Si su aapt2.exe falta continuamente, escanee su PC completa, puede que exista un virus que elimine adb.exp o aapt2.exe

Espero que tengas solución. 

1
Pratik Butani

Tengo este error 

com.Android.tools.aapt2.Aapt2Exception: AAPT2 error 

debido al nombre de archivo incorrecto de uno de mis/elementos dibujables en la lista de capas. 

Y lo resolví cambiando el nombre del archivo para corregir uno.

1
Varvara Solovyeva

Intenté todo lo sugerido aquí y en muchos otros sitios, finalmente descubrí que el problema era con Bitdefender bloqueando aapt ...

Si tiene Bitdefender instalado, entonces necesita activar aapt & aapt2 " Acceso a la aplicación " de forma individual.

Espero que esto sea de utilidad. 

1
mcadamm4

Algunas veces ! ¡Cuidado con la profundidad de propiedad de la imagen! y nombre para la imagen 

ejemplo: ic_xxxxx_xxxx - Copie

 enter image description here

1
Croid

Deshabilitando el problema de causa de la fuente AAPT2 en un desarrollo posterior, en mi caso, el error se generó cuando creé el icono de la aplicación.

<vector xmlns:Android="http://schemas.Android.com/apk/res/Android"
    Android:width="108dp"
    Android:height="108dp"
    Android:viewportWidth="Infinity"
    Android:viewportHeight="Infinity">
<path Android:fillColor="#26A69A"
      Android:pathData="M0,0h108v108h-108z"/>
<path Android:fillColor="#00000000" Android:pathData="M79,19L79,89"
      Android:strokeColor="#33FFFFFF" Android:strokeWidth="0.8"/>

Lo soluciono eliminando esta linea.

    Android:viewportWidth="Infinity"
    Android:viewportHeight="Infinity"
1
tabztabarangao

Para Error de AAPT2: verifique los registros para obtener detalles o error: error al vincular los recursos del archivo. errores:

Verifique sus archivos .xml que contienen Android: background = "" y elimine este atributo vacío puede resolver su problema.

1
MarsPeople

Si ha visto este error después de intentar ejecutar pruebas de implementación de Android individuales o clases de prueba (haciendo clic en el icono de ejecución en el canal) en un proyecto de Kotlin en Android Studio 3.0.1, puede evitar el error ejecutando el error. paquete de prueba completo (haciendo clic derecho en el paquete de prueba y seleccionando "Ejecutar pruebas en ...").

Hay un error conocido en Android Studio 3.0.1 que hace que IDE ejecute las pruebas de implementación de Kotlin como pruebas de JUnit regulares, lo que provocó que el mensaje de error del OP se mostrara en mi máquina. El error se rastrea en https://issuetracker.google.com/issues/71056937 . Parece que se ha corregido en Android Studio 3.1 Canary 7.

1
Andrew Marshall

Si está utilizando Kotlin, está obteniendo un error debido a algunos errores en los archivos xml. En kotlin es muy difícil encontrar errores xml, la compilación se puede fallar simplemente. Para conocer el registro de errores exacto, ejecute el comando siguiente en Android Studio Terminal y es fácil corregir los errores.

./gradlew clean
./gradlew assemble
1
Naveen Kumar M

Asegúrese de usar tipos de archivos válidos en su directorio src/main/res/raw. En mi caso, había copiado un archivo .mov junto con un montón de otros archivos en mi directorio res/raw. Sospecho que el problema era que aapt estaba tratando de procesar el archivo .mov y no sabía qué hacer con él.

1
Tash Pemhiwa

Compruebe y pruebe debajo de las cosas. El problema debe ser resuelto.

  1. En primer lugar, compruebe su registro desde la parte inferior de la ventana de compilación si se muestra o no algún error relacionado con el proyecto. Si se muestra un error, arregle todos esos. Ahora compila y ejecuta de nuevo, arregla todo el error aparece. Eliminará el problema de aapt2 sin cambiar el plugin gradle de Android a 3.2.0.

  2. En segundo lugar, si no aparece ningún error relacionado con el proyecto en el registro de compilación pero sigue mostrando el error aapt2, puede solucionarlo siguiendo los pasos a continuación.

Actualice su complemento Gradle de Android en su archivo de nivel de proyecto build.gradle como se muestra a continuación:

classpath 'com.Android.tools.build:gradle:3.2.0-alpha13'

Ahora actualiza Android.enableAapt2=true. Luego revisa y construye tu proyecto.

Cualquiera de estos pasos debería funcionar para solucionar problemas relacionados con aapt.

1
0xalihn

Este mensaje de error (error AAPT2: verifique los registros para obtener detalles ) No es útil porque no le indica cuál es el problema real.

En mi caso, se debió a que faltaba un archivo dibujable XML de recurso. 

error: failed linking file resources.

org.gradle.tooling.BuildException: Failed to process resources, see aapt output above for details.

Solo me di cuenta porque deshice los cambios en el archivo XML, y esta vez recibí un mensaje más útil:

error: resource drawable/ic_filter_off (aka com.xxx:drawable/ic_filter_off) not found.

Message{kind=ERROR, text=error: resource drawable/ic_filter_off (aka com.xxx:drawable/ic_filter_off) not found., sources=[C:\code\xxx\app\src\main\res\layout\app_bar_main.xml:69], original message=, tool name=Optional.of(AAPT)}
1
live-love

Resolví este problema degradando classpath 'com.Android.tools.build:gradle:3.2.1' y distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.Zip

0
Ahamadullah Saikat

Agregue build.gradle en el nivel de aplicación AaptOptions { CruncherEnabled = false }

0
Vishal

En mi caso, eliminar la carpeta de compilación preexistente y volver a intentarlo solucionó el problema.

0
Farrukh Najmi