web-dev-qa-db-fra.com

"aapt.exe" est sorti avec le code 1 lors de la construction du projet Mono pour Android

J'ai mis au point une application assez simple Mono pour Android qui ne fait que lire un MP3 "AndroidResource" dans un service en arrière-plan (copiée depuis dernier article de Greg Shackles sur Visual Services Magazine sur les services d'arrière-plan dans MfA ). J'ai assemblé le code, avec mon propre fichier MP3 personnalisé, et j'ai essayé de le construire, seulement pour obtenir cette belle erreur.

"aapt.exe" exited with code 1

C'est la seule information dans la liste des erreurs et le journal de sortie de la construction.

40
patridge

Étape 1: obtenir plus d'informations

Si vous rencontrez cette erreur, j'espère que vous rencontrerez également un message de Jonathan Pryor répondant à quelqu'un d'autre avec le même problème. Nous vous suggérons d'activer la journalisation plus détaillée de MSBuild pour voir si vous obtenez quelque chose d'utile à partir de ces messages.

Dans la boîte de dialogue Options de Visual Studio, allez dans "Projets et solutions", puis "Construire et exécuter". Basculez la "verbosité de sortie de la génération de projet MSBuild" de "minimale" en "normale" et générez votre projet à nouveau. Après cela, j'ai reçu ce message qui était beaucoup plus utile. Apparemment, les ressources ne peuvent inclure que des lettres, des chiffres, des points et des traits de soulignement ([a-z0-9_.]).

MSBuild normal verbosity logging

Solution

Renommez le fichier en respectant les restrictions requises et générez à nouveau.

Bien que ce message d'erreur apparaisse dans bien plus de situations que les problèmes de restriction de nom de fichier, une modification du nom de fichier a résolu ce problème.

74
patridge

Solution similaire pour moi, je devais supprimer les tirets ('-') de mes noms de fichiers PNG dans le dossier des ressources.

30
Joel

Dans les projets Mono.Android, cette erreur se produit lorsqu'un nom, comme un fichier XML, contient des espaces, par exemple des espaces. "Copie de xxxx.xaml"

14
Hersker

Dans les projets Mono.Android, cette erreur peut se produire lorsqu'un nom de fichier Resources/Drawable a - dans le nom, par exemple: "File-Name.png Try avec underscore:" File_Name.png "

8
StefanoM5

Oui, n'oubliez pas de ne pas avoir:

  1. Ressources, Images, Actifs, Mise en page axml commençant par mumbers
  2. Pour vérifier vos noms de fichiers avec des espaces. (J'avais ce problème. Une de mes mises en forme avait un espace de fin juste avant l'extension ".axml")
  3. Pour vérifier si vos images, ressources, fichiers, présentations ou autres ont un trait d'union (-). Ils ne sont pas censés être là.
4
Mahesh Iyer

Pour moi, c'était un problème avec un nom de ressource. Une de mes images était de MonoTouch et son nom de fichier incluait donc un '@ 2x' Après avoir supprimé cette aapt.exe ne se plaint plus et la solution construite. 

3
Dylan

Suivez les étapes ci-dessous pour identifier le problème:

1 - Dans Visual Studio: Outils> Options> Projets et solutions> Construire et exécuter.

1.1 - Dans la liste déroulante: Verbosité de sortie du projet MSBuild:> Diagnostic.

1.2 - Fermez la boîte de dialogue.

2 - Affichage> Sortie (Ctrl + W, O).

3 - Exécutez la construction ou la reconstruction.

Dans la sortie, trouvez cette ligne:

C:\Program Files (x86)\MSBuild\Xamarin\Android\ Xamarin.Android.Common.targets (1665.3): erreur MSB6006 "aapt.exe " Avec code 1

Ce qui est juste au-dessus de cette erreur est ce qui a causé l'erreur.

2
Tiago S

Vérifiez vos images/png sur le dossier Drawable. Cela m'a donné une erreur à cause d'une image png, une fois qu'elle est exclue du projet. Fonctionne bien ...

1
Ruwan Jayalath

Je l'ai résolu en supprimant la bibliothèque portable contenant la logique métier d'Android, puis en la reconstruisant séparément. Après la reconstruction, nettoyez votre projet Android et ajoutez à nouveau une référence à votre bibliothèque de classes portable. Enfin, construisez le projet Android

0
Victor