在构buildAndroid项目的Mono时,用代码1退出“aapt.exe”
我把一个相当简单的Mono for Android应用程序放在一起,只是在后台服务中播放“AndroidResource”MP3(从Greg Shackles最新的Visual Studio杂志文章 “MfA中的后台服务”复制而来)。 我把代码放在一起,用我自己的自定义MP3文件,并试图build立它,只是为了得到这个可爱的错误。
"aapt.exe" exited with code 1
这是错误列表和生成输出日志中唯一的信息。
第1步:获取更多信息
如果你遇到这个错误,希望你也会碰到乔纳森·普赖尔(Jonathan Pryor)的post,回答同样的问题。 build议是打开从MSBuild更详细的日志logging,看看你是否从这些消息中得到一些有用的信息。
在Visual Studio选项对话框中,转到“项目和解决scheme”,然后“构build和运行”。 将“MSBuild项目生成输出详细信息”从“最小”切换到“正常”,然后再次生成项目。 这样做之后,我收到了这个更有帮助的消息。 显然,资源不能包括字母,数字,句号和下划线( [a-z0-9_.]
)。
解
在需要的限制内重新命名文件并重新构build。
虽然这个错误信息可能会出现比文件名限制更多的情况,文件名更改完全解决了这个问题。
对于我来说类似的解决scheme,我需要从资源文件夹中的PNG文件名中删除破折号(' – ')
在Mono.Android项目中,当资源/布局axml文件在名称中包含空白时会出现此错误,例如。 “xxxx.xaml的副本”
在Mono.Android项目中,如果资源/可绘制文件名具有 – 例如:“File-Name.png尝试下划线:”File_Name.png“
是的,请记住没有:
- 资源,图片,资产,布局axml以数字开头
- 用空格检查文件名。 (我有这个问题,其中一个布局在扩展名“.axml”之前有一个结束空格)
- 检查你的图像,资源,文件,布局或其他任何有连字符( – )。 他们不应该在那里。
对我来说这是一个资源名称的问题。 我的照片之一是从MonoTouch,因此它的文件名包括一个“@ 2x”的文件名。 删除这个aapt.exe后不再抱怨,并build立了解决scheme。
按照以下步骤来确定问题:
1 – 在Visual Studio中:工具>选项>项目和解决scheme>构build和运行。
1.1 – 在下拉菜单中:MSBuild项目构build输出详细程度:>诊断。
1.2 – closures对话框。
2 – 查看>输出(Ctrl + W,O)。
3 – 运行构build或重build。
在输出中find这一行:
C:\ Program Files(x86)\ MSBuild \ Xamarin \ Android \ Xamarin.Android.Common.targets(1665.3):错误MSB6006“aapt.exe”退出代码1
刚刚在这个错误之上的是什么导致了错误。
在Drawable文件夹中检查您的图像/ png(s)。 一旦它被排除在项目之外,它给了我一个PNG图像的错误。 工作正常…
我通过从android中删除包含业务逻辑的可移植库来解决这个问题,然后分别重build它。 重build后,清理你的android项目,并再次添加引用到您的便携式类库。 最后构buildandroid项目