6

我刚刚在 Windows 8 上安装了 Xamarin Studio,我创建了一个 C# android 项目,并尝试编译它,但没有运气。

我得到的错误是在 AAPT 工具上,但即使使用 msbuild 的详细输出,我得到的只是输出窗口中的以下内容:

Task "Aapt"
Aapt Task
  AssetDirectory: 
  ManifestFile: C:\Users\Giuseppe\AppData\Local\Temp\i4va1gur.y4b\AndroidManifest.xml
  ResourceDirectory: obj\Debug\res\
  JavaDesignerOutputDirectory: C:\Users\Giuseppe\AppData\Local\Temp\i4va1gur.y4b
  PackageName: AndroidLocationLogger.AndroidLocationLogger
  UncompressedFileExtensions: 
  ExtraPackages: 
  AdditionalResourceDirectories: 
  LibraryProjectJarsWildcard: obj\Debug\__library_projects__\*.jar
  ExtraArgs: 
C:\Users\Giuseppe\AppData\Local\Android\android-sdk\platform-tools\aapt.exe package -f -m -M C:\Users\Giuseppe\AppData\Local\Temp\i4va1gur.y4b\AndroidManifest.xml -J C:\Users\Giuseppe\AppData\Local\Temp\i4va1gur.y4b --custom-package androidlocationlogger.androidlocationlogger -F C:\Users\Giuseppe\AppData\Local\Temp\i4va1gur.y4b\resources.apk.bk -S obj\Debug\res -I C:\Users\Giuseppe\AppData\Local\Android\android-sdk\platforms\android-8\android.jar --auto-add-overlay 
C:\Program Files\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(707,2): error MSB6006: "aapt.exe" exited with code -1073741816.
Done executing task "Aapt" -- FAILED.
Done building target "_UpdateAndroidResgen" in project "AndroidLocationLogger.csproj" -- FAILED.

考虑到它给我的数据很少,我真的不知道如何调试它......

4

10 回答 10

12

此错误主要是由于项目中的文件名引起的,请先检查这些..还要查看名称是否有符号和空格...只需更正它们以摆脱这些类型的错误..

于 2013-08-08T15:00:57.310 回答
2

添加的资源文件(图像、声音等)应仅包含 [a-z0-9_.] - 即除 '_' 和 '.' 之外不允许使用特殊字符,

否则你会得到这个错误。“aapt.exe”以代码 1 退出。(MSB6006)“

于 2015-02-27T09:16:01.150 回答
2

根据我的经验,这通常是因为资源的一些问题(换句话说,已经添加到资源文件夹下的项目中的东西 - 通常在 Drawable 或 Layout 文件夹中)。

如果您进入 Resource.Designer.cs 文件,它可能会提供一些关于项目问题所在的线索。

一种可能的解决方案是删除您添加到项目中的任何其他文件并尝试重建它。

另一种可能有效的方法是清理项目 Build-> Clean Solution,然后重建解决方案。

如果您刚刚开始,也许您可​​以开始一个新项目,然后从这个损坏的项目中打开文件并复制它们 - 或者只是部分代码 - 并构建项目,以便您可以诊断哪个文件是错误的。

请让我知道这是否对您有用,

问候,詹姆斯。

于 2013-07-19T06:35:07.220 回答
2

当您安装了 Xamarin 不支持的 Android 构建工具时,也可能会出现此类错误。默认情况下,Xamarin.Android 项目更喜欢最新版本的 Android 构建工具。我有 24.0.0-preview,但它不受支持。您可以通过在文件中添加AndroidSdkBuildToolsVersion属性来手动提供构建工具版本。.csproj另请参阅:Xamarin.Android 构建过程

于 2016-04-28T10:58:00.083 回答
1

如果您使用 .resx 文件进行本地化,请确保将其“构建操作”设置为“嵌入式资源”

于 2014-12-15T08:34:29.267 回答
1

我已经能够通过删除布局目录中存在的坏 android.axml 文件来解决同样的问题。如果您复制文件并且不重命名该文件,则它可能存在无效的文件字符,这将在构建过程中导致问题...

例如:“myLayout(复制).axml”。

确保正确重命名布局文件,和/或从项目中删除它们并重新构建。

于 2014-05-17T22:15:30.307 回答
0

对我来说,这个错误发生在两种情况下。

1)如果文件名中有错误字符,如果您查找它,至少appt会在诊断输出中报告错误。(构建-> 日志输出 = 诊断)

2) 如果您的布局文件或菜单文件引用了拼写错误或丢失的资源。这需要一些狩猎。这是没有诊断的 appt 错误。

基本上任何 axml 格式的资源文件都可以引用可绘制对象、字符串、颜色、菜单、菜单选择器等。一次打开每个文件,直到找到您引用的内容但资源文件夹中没有的内容。

于 2014-06-12T08:37:22.543 回答
0

将文件属性设置为 android 资产就可以了。

于 2015-04-19T20:21:23.873 回答
0

对我来说,这是资源文件名中的 @ 导致“aapt.exe”退出并出现错误代码,在我重命名资源文件后,错误得到了修复。

于 2016-03-03T09:12:24.383 回答
-1

如果你有一个错误的 9 补丁,你会得到这个错误。我必须在图像的所有四个侧面上标记可扩展补丁以使错误消失

于 2015-12-01T13:53:05.127 回答