until unavailable successful studio muestra español errores error diseño comunes aparece android android-manifest aapt

unavailable - no me aparece el editor de diseño en android studio



Error de manifiesto de Android Studio 3.0: elemento desconocido<acción> encontrado (8)

AVISO: no publique este "android.enableAapt2 = false" como respuesta. No es una solucion. Simplemente está ignorando el error real que no está causando ningún problema en tiempo de ejecución.

La solución fue simple, simplemente eliminó la etiqueta de acción colocada por error fuera de un filtro de intención en el archivo de manifiesto.

Tener una aplicación que fue construida por Android Studio 2.3 bien. Después de actualizar Android Studio 3.0 Stable , comencé a tener este error y no pude construir mi proyecto.

Aquí mi manifiesto.xml

<application android:name=".ApplicationClass" android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:largeHeap="true" android:supportsRtl="true" android:theme="@style/AppTheme"> <!--other unrelated stuff--> <action android:name="com.google.android.c2dm.intent.REGISTRATION" /> <receiver android:name="com.google.android.gms.gcm.GcmReceiver" android:exported="true" android:permission="com.google.android.c2dm.permission.SEND"> <intent-filter> <action android:name="com.google.android.c2dm.intent.RECEIVE" /> <category android:name="com.xxx.xxx" /> </intent-filter> </receiver> </application>

El error muestra esta línea:

<action android:name="com.google.android.c2dm.intent.REGISTRATION" />

Si comento / elimino esta línea de etiqueta de acción, el proyecto funciona bien pero es necesario para GCM y no puedo eliminarlo.

Como ve los registros, el error no se produce en el archivo de manifiesto principal , se produce en / build / intermediates / manifestts / full / debug /AndroidManifest.xml

Intenté limpiar, reconstruir, deshabilitar la ejecución instantánea. ¿Hay alguna solución?

Los registros de errores:

/THE_PROJECT_PATH/app/build/intermediates/manifests/full/debug/AndroidManifest.xml Error:(99) error: unknown element <action> found. Error:(99) unknown element <action> found. 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 1s Information:6 errors Information:0 warnings Information:See complete output in console


Coloque el contenido de la acción en el filtro de intención como se muestra a continuación según la estructura del archivo de manifiesto

<intent-filter> <action android:name="com.google.android.c2dm.intent.REGISTRATION" /> </intent-filter>


En mi aplicación en AndroidManifest.xml, el receptor de la etiqueta estaba bajo la etiqueta de la aplicación y esto fue causa de falla de compilación con el mensaje .../android/app/build/intermediates/manifests/full/debug/AndroidManifest.xml:25: AAPT: error: unknown element <receiver> found . Después de ponerlo en la etiqueta de la aplicación, el proyecto se compiló con éxito. Eso es todo


Para resumir y simplificar: debe concentrarse en su archivo AndroidManifest.xml principal y verificar si sigue estrictamente la secuencia, así como el anidamiento de etiquetas XML como se describe en https://developer.android.com/guide/topics/manifest/manifest-intro.html . De lo contrario, el IDE abrirá el AndroidManifest.xml de nivel de depuración que muestra muchos errores cada vez que intentas limpiar / construir el proyecto y confundirte.


Recientemente tuve esta solución en mi gradle.properties, pero una advertencia que decía que "La opción ''android.enableAapt2'' está en desuso ..." siguió apareciendo y la solución fue cambiarla a verdadero.


Simplemente cambie el nombre de su archivo de manifiesto de esta manera: AndroidManifest.xmlold, luego cree un nuevo archivo XML y asigne un nombre: AndoridManifest.xml. Luego, simplemente copie el contenido del archivo anterior después de eliminar la línea con la etiqueta. Build> Clean Project y luego Run> debug app nuevamente. Entonces el problema desaparecerá.


Tenemos la solución de este problema y la solución es que el servicio siempre viene en forma secundaria de <Application <service>> cuando escribimos el código fuera de <Application> luego se produce el problema. Los servicios son la parte secundaria de la Aplicación en el Manifiesto ... está bien ... Seguro que funcionará ... hágalo


Tienes una etiqueta mal colocada. El nuevo AAPT (AAPT2) ahora arroja un error al respecto.

De los documentos aquí: https://developer.android.com/studio/build/gradle-plugin-3-0-0-migration.html

El comportamiento cambia cuando se usa AAPT2

Para mejorar el procesamiento de recursos incrementales, el complemento de Android 3.0.0 habilita AAPT2 de forma predeterminada. Aunque AAPT2 debería funcionar inmediatamente con proyectos más antiguos, esta sección describe algunos cambios de comportamiento que debe tener en cuenta.

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 generan una advertencia. Por ejemplo, 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>

Las versiones anteriores de AAPT simplemente ignorarían la etiqueta fuera de lugar. Sin embargo, con AAPT2, obtiene el siguiente error:

AndroidManifest.xml:15: error: unknown element <action> found.

Para resolver el problema, asegúrese de que sus elementos de manifiesto estén anidados correctamente. Para obtener más información, lea Estructura de archivo de manifiesto .


agregue este código en gradle.properties en el proyecto raíz :

android.enableAapt2=false

esto funcionó para mí

root | |--gradle.properties