【问题标题】:AAPT failing with error code -1073741819AAPT 失败,错误代码为 -1073741819
【发布时间】:2012-05-22 09:37:52
【问题描述】:

构建项目会从 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 库项目后,此构建失败开始发生。如果我删除该依赖项,则项目构建良好。如果我重新添加它,它会再次失败。

【问题讨论】:

标签: android intellij-idea actionbarsherlock


【解决方案1】:

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

【讨论】:

  • 这也为我解决了这个问题,我的 style.xml 中有一个 ,而我的布局中有一个矛盾的 .xml 文件。从样式文档中删除一个为我修复了它。感谢您的帮助!
  • 就我而言,ids.xml 和项目 有问题。不要用这个!
  • 我在单独的菜单 XML 文件中有重复的菜单 ID。基本上,当您的任何 XML 文件中有重复的 ID 时,就会发生错误。
  • 在我的例子中,我定义了一个带有无效android:title 的菜单项,例如android:title="@string/NOT_EXISTING_ID"。修复 String-ID 解决了这个问题。不知道为什么 Eclipse 会显示这个奇怪的错误消息而不是简单的“未知字符串 ID ...”
  • 就我而言,我使用了错误的包。而不是,例如,android:showAsAction=... 我需要<package>:showAsAction=...
【解决方案2】:

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\ 的 aapt.exe 21.01\ 目录每次崩溃,退出代码相同 -1073741819。在我的帖子之前尝试了此线程中建议的所有答案均无济于事。然后从 20.0.0 复制旧版本的 aapt.exe(也尝试从 19.1.0 工具目录),并且在每种情况下都可以正常工作。没有问题(只需使用测试的每个版本的 aapt.exe 清理重建项目)。

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

格雷格

【讨论】:

  • 这也发生在我身上。 Linux 上的相同项目编译得很好。这是 Windows 特有的问题(我的是 Windows 8.1 Pro 64bit)。 Raplacing aapt.exe 同时修复它
  • @unify,谢谢!很高兴知道这不仅仅是我。希望我知道如何向 Google 提交此类错误。他们并不容易。
  • code.google.com/p/android/issues/list?cursor=android%3A76877 完成创建后告诉我,我会投票并添加我的 cmets
  • @unify,似乎问题已通过 Android SDK Build-tools rel 修复。 21.0.2。谢谢!
【解决方案3】:

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

【讨论】:

    【解决方案4】:

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

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

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

    时,通常会抛出 1073741819 错误

    【讨论】:

      【解决方案5】:

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

      我遇到的问题是 我的 main.xml 文件中的&lt;item android:id="@+id/menu_help" android:title="@string/menu_help"/&gt; 未在我的 strings.xml 文件中定义。

      【讨论】:

        【解决方案6】:

        看看here
        与Android Develop的second class有关,添加动作按钮。
        只是不存在可绘制的“ic_action_search”。嗯,对我来说就是这样。
        该课程链接到 Action bar icon pack,您可以在其中找到丢失的 PNG 并将其添加到您的项目中。

        希望对你有帮助,
        SJ

        【讨论】:

          【解决方案7】:

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

          【讨论】:

            【解决方案8】:

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

            【讨论】:

              【解决方案9】:

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

              【讨论】:

                【解决方案10】:

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

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

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

                【讨论】:

                  【解决方案11】:

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

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

                  【讨论】:

                    【解决方案12】:

                    在我的情况下,问题出在我的 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"
                        />
                    

                    【讨论】:

                      【解决方案13】:

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

                      Android XML Percent Symbol查看更多信息

                      【讨论】:

                        【解决方案14】:

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

                        【讨论】:

                          【解决方案15】:

                          当你的xml有问题时会产生这个错误 但是,当检查项目>构建时,Eclipse不会显示真正的问题

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

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

                          【讨论】:

                            【解决方案16】:

                            这个错误一般是由于xml文件中缺少参数或者语法错误造成的。

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

                            【讨论】:

                              【解决方案17】:

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

                              【讨论】:

                                猜你喜欢
                                • 1970-01-01
                                • 1970-01-01
                                • 2020-07-12
                                • 2016-01-28
                                • 1970-01-01
                                • 1970-01-01
                                • 1970-01-01
                                • 1970-01-01
                                相关资源
                                最近更新 更多