21

构建项目会从 AAPT 引发以下错误。我已经重建了这个项目,但它仍然失败。我在任何地方都找不到此错误代码实际含义的任何引用。我在带有 ActionBarSherlock v4.1.0 的 IntelliJ 中使用 Java 6 和 Android 工具 r19。

I/O error: Command
"C:\android-sdk-windows\platform-tools\aapt.exe package -m --auto-add-overlay --extra-packages com.actionbarsherlock -J C:\Users\Ollie\.IntelliJIdea11\system\compiler\project6.b9f5599b\.generated\aapt\Project.9617c193\production -M C:/Users/Ollie/Documents/Dropbox/Tech/project6/Source/project6/AndroidManifest.xml -S C:/Users/Ollie/Documents/Dropbox/Tech/project6/Source/project6/res -S C:/Users/Ollie/Documents/Dropbox/Tech/project6/Source/actionbarsherlock/res -I C:\android-sdk-windows\platforms\android-14\android.jar"
execution failed with exit code -1073741819

在我将项目中的依赖项添加到 ActionBarSherlock 库项目后,此构建失败开始发生。如果我删除该依赖项,则项目构建良好。如果我重新添加它,它会再次失败。

4

17 回答 17

18

我在windows下遇到了这个问题,我通过删除styles.xml中样式项目定义中的@+id来修复它。我与其他不知道确切原因但发现在样式文件中使用 +id 经常导致问题的人交谈。

于 2012-08-13T07:29:58.280 回答
8

2014 年 10 月 27 日更新 -

该问题已通过 Android SDK Build-tools rel 修复。21.0.2,松了一口气......我想我会保留这篇文章的其余部分,以防万一使用 v. 21.0.1 的人遇到这个问题,或者如果该错误在工具的未来版本中再次出现。也许它可以避免有人一头撞在工具漏洞墙上,花一整天时间审查所有其他帖子和他们的代码。

2014 年 10 月 18 日的原始帖子

这个老问题的新变化......今天,2014 年 10 月 18 日,在我的 Windows 7 计算机上升级到刚刚发布的 Android SDK v. 21 后,使用 android-sdk\build-tools\21.01\ 目录中的 aapt.exe每次都使用相同的退出代码 -1073741819 崩溃。在我的帖子之前尝试了此线程中建议的所有答案,但无济于事。然后只需从 20.0.0 复制旧版本的 aapt.exe(也从 19.1.0 工具目录尝试过),并且在每种情况下都可以正常工作。没有问题(只需使用测试的每个版本的 aapt.exe 清理重建项目)。

用于 Windows 的 aapt.exe,在 Android SDK 内置工具版本 21.0.1 中是否损坏?有没有其他人看到这个问题?

格雷格

于 2014-10-18T16:24:42.267 回答
5

对于在 Android Studio 中遇到此问题的任何其他人,这就是我解决它的方法:

我复制了输出窗口中显示的 aapt.exe 命令。例如:

C:\android-sdk-windows\platform-tools\aapt.exe package -m --auto-add-overlay --extra-packages com.actionbarsherlock -J C:\Users\Ollie\.IntelliJIdea11\system\compiler\project6.b9f5599b\.generated\aapt\Project.9617c193\production -M C:/Users/Ollie/Documents/Dropbox/Tech/project6/Source/project6/AndroidManifest.xml -S C:/Users/Ollie/Documents/Dropbox/Tech/project6/Source/project6/res -S C:/Users/Ollie/Documents/Dropbox/Tech/project6/Source/actionbarsherlock/res -I C:\android-sdk-windows\platforms\android-14\android.jar

最后,我将 附加-v到该命令的末尾并在命令提示符窗口中运行它。该开关打开详细日志记录。最终该命令将失败,但它尝试打包的最后一个文件是罪魁祸首。我建议您将精力集中在该文件上。

于 2014-01-21T20:20:37.823 回答
3

这个问题的一般解决方案在于 XML 代码。XML 代码中有一些东西被指出,但不存在。就我而言,无法访问的字符串会导致此错误。

<item android:title="@string/action_settings">  

由于一些代码合并,这个字符串代码被删除了,编译器无法找到它。我改变了它&哎呀..错误消失了。
在大多数语言中,当访问资源出现问题时,通常会抛出1073741819错误

于 2014-01-18T12:22:43.653 回答
2

确保您的所有@+id/...(在 main.xml 和其他文件中)也在 strings.xml 中注册。

我遇到的问题是 <item android:id="@+id/menu_help" android:title="@string/menu_help"/>我的main.xml文件中没有在我的strings.xml文件中定义。

于 2013-11-22T03:47:36.330 回答
2

看看这里
它与Android Develop的第二类,添加动作按钮有关。
只是不存在可绘制的“ ic_action_search ”。嗯,对我来说就是这样。
该类链接到操作栏图标包,您可以在其中找到丢失的 PNG 并将其添加到项目中。

希望有帮助,
SJ

于 2013-12-13T15:29:29.457 回答
2

我认为 aapt ErrorCode -1073741819 表示 Android 资源冲突或非法。每当我在别人或我自己的android项目上遇到这个错误时,我通常会发现layout/xxx.xml中缺少必需的属性,或者id,name属性在不同的layout/xxx.xml中冲突

于 2014-01-04T04:07:01.473 回答
0

我在 Eclipse 中遇到了同样的问题。Eclipse 不时显示这些错误,我的项目中的简单刷新为我修复了该错误。

于 2014-01-02T18:36:03.217 回答
0

有同样的问题。布局 xml 文件中有一个引用指向源代码中不再存在的对象。您可能应该首先检查您的主布局文件。

于 2014-01-30T17:56:28.110 回答
0

我刚刚又遇到了这个问题。上一次找不到错误原因,只好清空一切,小心翼翼地一一添加文件和资源。但现在我发现了这个错误的另一个原因。我使用了 Software.Developer 提供的方法,但就我而言,罪魁祸首不是最后一行,而是倒数第二行。这是一个菜单 xml 文件,问题出在该文件的第一行。它是空的,并且 xml 声明

xml 版本="1.0" 编码="utf-8"

被放置在第二行。IntelliJ IDEA 静态分析器不会突出显示此错误,直到您打开文件并且编译器在编译时才会崩溃。因此,请确保您的所有 xml 文件(布局、样式、菜单)都在文件的第一行放置了正确的 xml 声明。

于 2014-03-05T14:11:00.880 回答
0

我通过在再次编译之前清理项目来解决这个问题。

我得到的错误代码是-1073741502,略有不同,但我认为这只是之前构建的aapt生成的id。

于 2014-05-28T05:49:24.363 回答
0

就我而言,问题出在我的 menu.xml 中。看看这个:

<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    >

    <item android:id="@+id/action_help"
        android:title="@string/help"
        android:orderInCategory="100"
        app:showAsAction="never"
        />
</menu>

将 app:showAsAction 的命名空间从 app 重命名为 android 解决了这个问题。这是正确的方法

<item android:id="@+id/action_help"
    android:title="@string/help"
    android:orderInCategory="100"
    android:showAsAction="never"
    />
于 2014-06-10T06:35:33.757 回答
0

另一个资源问题 - 添加formatting="false"到包含%s格式字符的字符串中。

在Android XML 百分比符号中查看更多信息

于 2014-06-17T10:08:10.497 回答
0

在我的情况下(Windows 8.1 上的 Android Studio)aapt有时会卡住,每次从命令行启动都会崩溃(但在资源管理器中双击时不会崩溃)。当我终止任务管理器中的所有进程时,清理cmd.execonhost.exe构建一切正常。

于 2014-10-21T09:49:30.723 回答
0

当您的XML有一些问题但Eclipse时,将生成此错误将在选中项目>构建时不会显示实际问题

您必须做的第一件事是取消选中该选项,全部构建,然后查看问题窗口。

对我来说,我从资源中删除了一个字符串,但没有删除它的使用情况,所以我需要 2 个工作日才能找出问题所在

于 2015-05-12T05:20:19.213 回答
0

通常,由于 xml 文件中缺少某些参数或某些语法错误,会观察到此错误。

您可以参考消息视图以进行 gradle 构建。它在那里指出,哪个文件有错误。就我而言,在其中一个布局 xml 中,有一些额外的字符。

于 2016-04-20T09:20:19.153 回答
-1

尝试从 android build tool 文件夹中删除版本早于 19 的 build tool,然后从 sdk manager 安装 build tool 19,将 lib 文件夹和 aapt.exe 复制到 platform-b​​uild 文件夹。

于 2016-06-24T16:38:23.410 回答