Visual Studio 2015 Xamarin aapt.exe错误:包资源不存在。

3
当我尝试在VS2015 Community Edition中构建一个新的空白Android应用程序时,我遇到了“aapt.exe退出代码1073741819错误”的问题。还出现了“obj \ android \ bin \ packaged_resources”文件不存在的错误。我什么都没有改变,这就发生了。
我已经尝试了以下方法:
- 将输出详细程度更改为诊断性[这样做并没有产生我能理解的有用信息] - 确保所有相关文件和目录不包含任何空格或特殊字符/符号。 - 安装所有最新的Android SDK。
我找到的解决方案(通常包括检查文件和目录名称以及重新安装Visual Studio)都无法解决此问题。我也尝试了修复VS,但也没有效果,还重新运行了Xamarin for VS安装程序,同样没有效果。
由于它是一个大型下载(+20GB),我宁愿将重新安装VS作为最后的手段。
编辑:
我查看的大多数线程都谈论解决错误的语法、缺少参数、调用未声明的变量、文件名中的空格或破折号等等。通常是在xml或布局文件中。但对我来说情况并非如此。我创建一个新项目就会出现这些错误。我已经检查了默认代码,本身似乎没有任何错误。
常见的解决方法是将输出详细程度设置为“正常”或“诊断性”,因为这通常会指出罪魁祸首(通常是语法错误)。但对我来说也没有用。
另外,我已经更新了SDK包。

3
可能是 AAPT 失败,错误代码为 -1073741819 的重复问题。 - SushiHangover
1
大多数(全部?)与Windows上aapt故障有关的问题都与Android构建工具的SDK版本和/或“styles.xml”中样式的“id”相关 http://stackoverflow.com/questions/15972970/aapt-crashes-after-added-facebook-sdk-3-0-as-library ,https://dev59.com/-Ggv5IYBdhLWcg3wTvA-等。 - SushiHangover
@SushiHangover,我刚刚浏览了那些帖子。我不确定在开发Android应用程序时,IntelliJ和Xamarin for VS之间是否存在任何差异,但无论如何,该线程中的解决方案都涉及链接外部库以及解决布局或XML文件中的冲突或重复ID标签和常规不正确语法(从所有ID中删除“@+id”)。我怀疑这对我来说并不是问题,因为这个错误出现在我创建一个新项目时,所以不能归咎于ID标签的问题。我已经从SDK管理器下载了所有可下载的内容。 - OZYMANDIAS
你正在使用哪个版本的Android SDK build-tools?(23.0.?) - SushiHangover
所以仅仅删除这些构建工具版本的位置并没有解决问题。实际上,我的项目告诉我找不到24.0.0预览版的aapt可执行文件。谷歌与androidsdkbuildtoolsversion或msbuild工具相关的任何内容或设置vs项目的构建工具都没有产生有用的结果。我无法找到在项目属性、清单文件或任何其他关联文件中调整此参数的位置。因此,我想问如何强制项目使用旧版本或将参数设置为旧版本。 - OZYMANDIAS
显示剩余3条评论
3个回答

1

我不得不移除Android 8.0.0 (API 26)SDK平台。现在我的模拟器又可以工作了(之前aapt.exe在构建时崩溃了)。 - testing

0

请从 Android SDK 管理器确认已安装至少一个适用于您所使用的 API 的 Android SDK 构建工具

例如,对于版本 22.0.1,请查看下面的图像

enter image description here


0

我知道这个问题已经很古老了,但今天早些时候我偶然发现了一个几乎相同的问题。回答和评论让我接近解决方案,由于这个问题似乎从未得到完美解决,我认为有人可能会从我的摸索中受益。

我对Xamarin和大多数其他编程东西都比较陌生,这是我第一个Stack Overflow的答案,所以如果我在任何地方出现错误或超出限制,提前请见谅。

由于它至少看起来有一些API冲突的问题,我将应用程序的属性设置为Android 6.0(API 23)进行编译和目标化,以简化故障排除。 请参阅此截图。这直接消除了1073741819代码错误的一个实例。

然后,我通过SDK管理器删除了与API 23或Android 6.0无关的所有内容,包括“新手错误”的tools文件夹中的Android SDK工具。解决方案编译无误(耶!),但我的Android工具也不见了……这是我直到尝试从SDK管理器获取软件包列表(那已经不再可用)才注意到的。

我最终从Android下载了一组新的命令行工具,并将提取的“Tools”文件夹放回ProgramFiles(x86)\ Android \ android-sdk。这修复了我的SDK Tools错误,并向我的“仅API 23”阵容添加了其他软件包--但解决方案仍然可以无误构建

根据Android SDK管理器,我当前安装了以下软件包,并且解决方案按预期构建,因此可以使用SDK Manager修改软件包,而不是像我那样完全删除和重新安装工具文件夹。

  • 工具
    • Android SDK 工具 : Rev 25.2.3
    • Android SDK Build-tools : Rev23.0.3
    • Android SDK Build-tools : Rev23.0.2
    • Android SDK Build-tools : Rev23.0.1
    • Android SDK Build-tools : Rev22.0.1
    • Android SDK Build-tools : Rev21.1.21
  • Android 7.1.1 (API 25)
    • Android SDK源代码 : API 25 Rev 1
  • Android 6.0 (API 23)
    • SDK平台 : API 23 Rev 3
    • Google APIs : API 23 Rev 1
    • Google APIs ARM EABI v7a系统镜像 : API 23 Rev 7
    • Google APIs Intel x86 Atom系统镜像 : API 23 Rev 12
    • Android SDK源代码 : API 23 Rev 1

简而言之:

安装错误的 Android API 组合似乎会破坏 aapt.exe 进程,与此同时,针对/编译版本时没有包或有冲突包的情况也会导致问题。

  1. 将应用程序属性设置为单个所需的 Android 版本,并且
  2. 使用来自 Android 的最新命令行工具替换 ProgramFiles(x86)\android-sdk\tools 文件夹,使其能够无误构建。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接