web-dev-qa-db-ja.com

AndroidプロジェクトのMonoをビルドすると、「aapt.exe」はコード1で終了しました

Androidアプリケーションのバックグラウンドサービスで「AndroidResource」MP3を再生する以外に何もしない非常に単純なMonoをまとめました(バックグラウンドの Greg Shacklesの最新のVisual Studio Magazine記事からコピー) Services in MfA )。私は自分のカスタムMP3ファイルを使用してコードをまとめ、ビルドしようとしましたが、この素敵なエラーが発生しました。

"aapt.exe" exited with code 1

これは、エラーリストとビルド出力ログの唯一の情報です。

40
patridge

ステップ1:詳細情報を取得する

このエラーに遭遇した場合、うまくいけば、 Jonathan Pryorからの投稿 にも遭遇し、同じ問題を持つ他の人に返信することになります。 MSBuildからより詳細なログをオンにして、これらのメッセージから何か役立つものがあるかどうかを確認することをお勧めします。

Visual Studioの[オプション]ダイアログで、[プロジェクトとソリューション]、[ビルドと実行]の順に移動します。 「MSBuildプロジェクトビルド出力の詳細度」を「最小」から「標準」に切り替えて、プロジェクトを再度ビルドします。そうした後、私ははるかに役立つこのメッセージを受け取りました。どうやら、リソースには文字、数字、ピリオド、アンダースコア([a-z0-9_.])。

MSBuild normal verbosity logging

解決

必要な制限内でファイルの名前を変更して、再度ビルドします。

このエラーメッセージは、ファイル名の制限の問題よりもはるかに多くの状況で発生する可能性がありますが、ファイル名の変更により、この特定の問題は完全に修正されました。

74
patridge

同様の解決策、リソースフォルダー内のPNGファイル名からダッシュ( '-')を削除する必要がありました

30
Joel

Mono.Androidプロジェクトでは、Resources/Layout axmlファイルの名前に空白が含まれていると、このエラーが発生しました。 「xxxx.xamlのコピー」

14
Hersker

Mono.Androidプロジェクトでは、このエラーは、Resources/Drawableファイル名に-が含まれている場合に発生する可能性があります。例: "File-Name.pngアンダースコアで試してください:" File_Name.png "

8
StefanoM5

はい、忘れないでください:

  1. リソース、画像、アセット、レイアウト、XMLで始まる
  2. スペースでファイル名を確認します。 (この問題が発生しました。レイアウトの1つに拡張子「.axml」の直前に終了スペースがありました)
  3. 画像、リソース、ファイル、レイアウトなどにハイフン(-)があるかどうかを確認します。彼らはそこにいるはずではありません。
4
Mahesh Iyer

私にとっては、リソース名の問題でした。私の写真の1つはMonoTouchからのものであり、そのため、そのファイル名にはファイル名に「@ 2x」が含まれていました。このaapt.exeを削除した後、不満はなくなり、ソリューションが構築されました。

3
Dylan

以下の手順に従って問題を特定します。

1-Visual Studioの場合:[ツール]> [オプション]> [プロジェクトとソリューション]> [ビルドと実行]。

1.1-ドロップダウン:MSBuildプロジェクトビルド出力の冗長性:>診断。

1.2-ダイアログボックスを閉じます。

2-[表示]> [出力](Ctrl + W、O)。

3-ビルドまたは再ビルドを実行します。

出力で次の行を見つけます。

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

このエラーのすぐ上にあるのは、エラーの原因です。

2
Tiago S

Drawableフォルダーで画像/ pngを確認します。プロジェクトから除外すると、PNG画像が原因でエラーが発生しました。正常に動作します...

1
Ruwan Jayalath

ビジネスロジックを含むポータブルライブラリをAndroidから削除し、それを個別に再構築することで解決しました。再構築後、Androidプロジェクトをクリーンアップし、再度参照を追加してくださいポータブルクラスライブラリに追加します。最後にAndroidプロジェクトをビルドします

0
Victor