在Eclipse 4.3 Kepler SDK 22.3 API Level 19中,aapt.exe已经停止工作

12

当我在Eclipse4.3 Kepler中使用SDK版本22.3 API级别19编译Android程序时,它会抛出一个错误,显示为aapt.exe已停止工作。 日志显示此问题的签名:

Problem Event Name: APPCRASH   
Application Name:   aapt.exe   
Application Version:    0.0.0.0 
Application Timestamp:  52684cb5
Fault Module Name:  aapt.exe   
Fault Module Version:   0.0.0.0   
Fault Module Timestamp: 52684cb5   
Exception Code: c0000005   
Exception Offset:   0003cf2a   
OS Version: 6.2.9200.2.0.0.768.101   
Locale ID:  16393   
Additional Information 1:   5861   
Additional Information 2:   5861822e1919d7c014bbb064c64908b2   
Additional Information 3:   dac6   
Additional Information 4:   dac6c2650fa14dd558bd9f448e23afd1  Read our privacy statement online:   http://go.microsoft.com/fwlink/?linkid=190175  If the online privacy statement is not available, please read our privacy statement offline:   C:\Windows\system32\en-GB\erofflps.txt

请大家帮帮我,我甚至无法编译出“Hello World”!!!


点击这里看看是否有帮助。 - ChuongPham
这并不是完全相同的事情。我的Eclipse Kepler版本自Kepler发布以来已经正常工作了4个月,但当我更新SDK API级别到19时,问题就开始了。所有的东西和安装都与4个月前一样。 - jabir jazz
1
你能打开详细构建模式并发布输出结果吗?在Eclipse中,转到Windows | Preferences | Android | Build | Build Output | Verbose。确保您在更改后单击应用确定以保存更改。从输出日志中查找任何突出显示为红色的行或任何异常的消息。此外,您的错误可能与此错误报告有关,涉及资源引用和验证。 - ChuongPham
以下解决方案对我有用:https://dev59.com/qWQn5IYBdhLWcg3wcWzM#20312357 - Abhijit
8个回答

36

同时可能会出现菜单选项不正确的问题。

<item
    android:id="@+id/action_grid"
    android:icon="@drawable/ic_grid"
    android:title="Grid"
    android:showAsAction="true">

在我的情况下,drawable 中的一个图标不存在。 Eclipse 不会通知您此事。仔细检查这一点!


请注意,这也解决了我的问题,尽管在我的情况下,我不小心删除了一个字符串资源,而不是可绘制资源。教训:从菜单XML引用的缺失资源会导致AAPT崩溃,而不是错误。 - Sterling
显然,它在Android错误跟踪器上:https://code.google.com/p/android/issues/detail?id=61308 - Sterling
太好了!我找到了缺失的可绘制资源(名称写错了),所以在Eclipse中会有警告,但是aapt一直失败。谢谢! - user1676075
非常好的回答,感谢您 +1 - Zubair Ahmed

5
在Eclipse中,我这样解决它:
  1. 选择“Windows”>“首选项”>“Android”>“构建”>“构建输出”>选择“详细信息”

  2. 选择项目>清理>确定

  3. 选择项目>全部构建

  4. 选择“控制台”输出。

您可能需要在DDBMS和Android之间切换,我的会反复切换。在Android控制台中,您将看到导致问题的确切XML差异。

它帮助识别了问题。谢谢! - Umair
即使使用了详细模式,有时也无法帮助我。例如,当我输入X<?xml...这样的错别字时,它没有提示XML格式错误。 - clairestreb

4

对于我而言,这似乎是与Android SDK构建工具19有关的问题,所以我将其降级到了旧版本,我的情况是18.1.1。


自从我升级到19并不得不降级到18.1.1以来,我一直遇到同样的问题。 - Hank Wilson
你如何降级?我已经弄清楚了如何安装18.1.1,但我无法弄清楚如何告诉Eclipse使用它进行构建。 - joshlf
哦,说得好。我只卸载了除18.1.1以外的所有东西。 - dt0
作为额外提示:如果您仍然需要像ActionBar这样只出现在19或更高版本中的功能,则可以降级,清除,然后再升级回到19。似乎问题会自行解决 :) +1 - JamJar00
对我来说,升级到SDK Build Tools 21.0.1引起了问题。降级到21仍然有问题,降级到20问题得到解决:) 看起来你至少需要SDK Build Tools版本20才能让zipalign工作并能够发布你的应用程序。 - Ehsan

2
在我的情况下,问题是由于手动创建的菜单文件中缺少命名空间前缀的 xmlns 属性导致的。在我的情况下,这些前缀是 app:、tools: 和 context:。我使用 NetBeans 的“检查 XML”功能来查找和修复 Android XML 文件中的语法问题。具体步骤如下:
  1. 在 NetBeans 中打开 XML 文件:文件 => 打开文件
  2. 在编辑器窗口中右键单击 XML 文件,选择“检查 XML”
  3. 修复报告的错误
  4. 重复“检查 XML”并修复错误,直到没有更多错误为止

同样的情况也发生在我身上了,谢谢。 - Muhannad A.Alhariri
如果我的回答对你有帮助,请Muhannad给我点个赞。谢谢。 - Farrukh Najmi

2

我花了太长时间寻找原因... 这个错误的原因是:menu.xml 我只是添加了一个新的Activity进行测试,然后使用layout xml删除了此Activity,但是菜单仍留在项目中...花了两个小时寻找解决方案


1
我发现我像这样放置了一个菜单项:

 <item
    android:id="@+id/share_fb"
    android:icon="@drawable/ic_menu_moreoverflow"
    android:showAsAction="never"
    android:title="@string/fb invitation menu title"/>

这里有空格:

    android:title="@string/fb invitation menu title"/>

当我移除了空格并放置了正确的strings.xml值,一切都正常了,aapt.exe错误也消失了。


-1

我在字符串资源文件中的字符串标签中放了大写字母S。
将其替换为小写字母后,aapt错误消失了。


-2

首先清理您的所有项目,然后执行以下操作:

Eclipse > Preferences > Android > Build > Build Output > normal


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