Android Studio 3.0 Erreur Manifeste: inconnu élément <action> trouvé
AVIS: Merci de ne pas poster ce "android.enableAapt2=false" comme une réponse. Il est pas une solution. C'est juste ignorant la véritable erreur qui ne cause pas de problème à l'exécution.
Solution était simple, il suffit de supprimé malencontreusement placé action de la balise à l'extérieur d'un filtre d'intention dans le fichier manifest.
Disposez d'une application qui a été la construction d'Android Studio 2.3 amende.
Après la mise à jour Android Studio 3.0 Stable, a commencé à avoir cette erreur et impossible de construire mon projet.
Ici mon manifest.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>
Erreur affiche cette ligne:
<action android:name="com.google.android.c2dm.intent.REGISTRATION" />
Si j'ai fait un commentaire/suppression de cette action sur le slogan, du projet se construit bien, mais il est nécessaire pour GCM
et je ne peux pas l'enlever.
Comme vous le voyez, les journaux, L'erreur pas se produit à la main fichier de manifeste, se produit à l' /build/intermédiaires/manifests/full/debug/AndroidManifest.xml
Essayé de nettoyer, la reconstruction de, la désactivation instantanée exécuter. Est-il une solution?
Les Journaux D'Erreur:
/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
- Pourquoi avez-vous un
<action>
à l'extérieur d'un<intent-filter>
? - C'est un vieux projet et ces codes sont restés à partir d'anciennes lignes directrices. Il fonctionnait sans erreur. Après une recherche approfondie, compris qu'il ne faut plus l'utiliser, et aussi il a placé de mal, il l'a supprimé.
- Ne vous mettez à niveau votre distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip ?
- Déjà fait, le problème semble résolu pour l'instant, après la suppression de l'action de la balise.
- Bonne chose il y a un avertissement en haut. Thumbs up
Vous devez vous connecter pour publier un commentaire.
Vous avez mal la balise. La nouvelle AAPT (AAPT2) envoie maintenant un message d'erreur sur cette.
De la documentation ici: https://developer.android.com/studio/build/gradle-plugin-3-0-0-migration.html
ajouter ce code dans gradle.propriétés dans le racine projet:
cela a fonctionné pour moi
The option 'android.enableAapt2' is deprecated and should not be used anymore. Use 'android.enableAapt2=true' to remove this warning. It will be removed at the end of 2018..
Afin de résumer et simplifier: vous devriez juste vous concentrer sur vos principales AndroidManifest.xml fichier et vérifier s'il se conforme strictement à l'ordre, aussi bien que l'imbrication de balises XML comme décrit dans https://developer.android.com/guide/topics/manifest/manifest-intro.html. Sinon, l'IDE permettra d'ouvrir le niveau de débogage AndroidManifest.xml montrant beaucoup de message d'erreur à chaque fois que vous essayez de nettoyer/construire le projet et de vous confondre!
Mettre d'action contenu dans intent-filter comme ci-dessous comme par Le fichier de manifeste de la structure.
Il suffit de renommer votre fichier manifeste comme ceci: AndroidManifest.xmlold, puis créer un nouveau fichier XML et de donner le nom: AndoridManifest.xml. Ensuite il suffit de copier le contenu de l'ancien fichier après la suppression de la ligne avec la balise . Build>Propre Projet et puis Exécutez>debug de nouveau l'application. Ensuite, le problème aura disparu.
Nous avons la solution de ce problème et de la solution est que le service vient toujours sous la forme de
<Application <service>>
lorsque nous écrivons le code en dehors de
<Application>
alors question de se produire. Services à l'enfant le cadre de l'Application dans le Manifeste...bon... c'est sûr Elle va travailler..le faire
J'ai récemment eu ce correctif sur mon gradle.les propriétés, mais un avertissement disant que "L'option" android.enableAapt2' est obsolète..." conservés sur et la solution a été de changer la valeur true à la place.
Dans mon application dans AndroidManifest.xml tag récepteur était sous la balise application et ce fut la cause de la construction d'échouer avec message d'
.../android/app/build/intermediates/manifests/full/debug/AndroidManifest.xml:25: AAPT: error: unknown element <receiver> found
. Après je l'ai mis dans la balise application puis le projet a été compilé avec succès. C'est tout