Eclipse和Android SDK问题:“aapt.exe已停止工作”

15

我在我的Windows 7 64位机器上使用aapt.exe时遇到了问题。它会抛出以下错误:

aapt.exe已停止工作

这与项目无关,因为我尝试了多个项目,它似乎也会在Eclipse中的任何工作区发生。新项目或旧项目,当构建和运行我的应用程序时,它仍然会失败。

我正在使用最新的JDK-6和最新的Android SDK 22.0.1,以及Build Tools和Platform tools。

删除整个SDK、Eclipse并重新设置似乎也无法解决问题。

有什么想法吗?


你什么时候开始遇到这个问题的?你最近更新了什么吗? - Larry McKenzie
今天刚开始,我刚刚更新到最新的Android SDK工具版本 Rev 22.0.1。http://developer.android.com/tools/sdk/tools-notes.html - Jaison Brooks
你知道更新之前你使用的是哪个版本吗? - Larry McKenzie
SDK工具的版本是22,我正在使用Eclipse 4.2.2版本。 - Jaison Brooks
我相信你已经经历过这些事情,但我想确认一下。你的Android SDK目录设置正确吗?你也更新了ADT吗?你说这不是项目特定的问题,但你是否确认在新项目中并且没有其他项目打开在你的工作空间中,这个问题是否仍然存在? - Larry McKenzie
@LarryMcKenzie 是的,我确认了ADT是最新版本,SDK已经重新安装并在Eclipse中正确设置。我尝试过新的工作空间和独立的新项目以及与他人一起使用,但问题仍然存在。这真的非常奇怪。我想不出还有什么其他的尝试方法了... - Jaison Brooks
12个回答

17

将样式中的id(如@+id)删除,然后再次构建即可获得成功...

<item name="android:id">@+id/calender</item>

1
哦,我们应该删除哪个id?是android:id还是@+id?您能否请把删除后的代码行展示一下?谢谢! - Felix
5
有人知道为什么会出现这个问题吗? - deviant

16

看起来你的 strings.xml 缺少一些条目

在我的情况下,我删除了 <string name="action_settings">Settings</string>,认为它没有被项目使用,并将其放回以解决问题。您可以搜索项目中相同或类似类型的标记。


+1 这解决了我的崩溃问题。如果字符串名称输错了,菜单<item> 就会崩溃。难道没有人在错误条件下测试过这段代码吗? - MZB
很高兴知道它对你有帮助。感谢你的投票支持。 - Vivek Giri

8

如果某个选项不正确,这也可能发生。例如:

<item
    android:id="@+id/menu_dashboard_add_group"
    android:icon="@android:drawable/btn_plus"
    android:title="Add group"
    android:showAsAction="true">

请注意,android:showAsActiontrue 是无效的。

4
当你在菜单/布局xml文件中没有使用@+id/时,就会出现这种情况。

4

显然,对我有效的唯一方法似乎是在写回资源<string name="action_settings">设置</string>之后出现了问题。实际上,我一开始删除它是因为它在我的整个开放项目中都没有被使用...


2

对我而言,这发生在创建新活动之后

your_package-Right-Click-> Create a new-> "Android Activity"->Fill fields->"Done"

我通过恢复我的应用程序的先前版本来解决了这个问题。


2

如果ASSETS文件夹中存在任何没有分辨率的文件,这也会发生在我身上。

例如:

如果ASSETS文件夹中存在任何文件

file:///android_asset/html/qwwww

[结果] 错误!“aapt.exe已停止”

为了解决这个问题,所有文件都应该有一个分辨率。

file:///android_asset/html/qwwww.css

2
不要忘记在menu.xml文件中的id属性前加上“+”符号。
<item android:id="@id/action_download_time"

vs

<item android:id="@+id/action_download_time"

2

检查是否存在带有HTML代码的字符串值,例如不间断空格(&nbsp;)。删除它们并清理项目。这样应该可以解决问题。

Ram


2

建议使用Android SDK Build-Tools v18.1.1,而不是19.0.1。

可能是由于资源文件中存在错误,v19 build-tools不会报告错误,但仍然无法编译R。

请在下面的问题的第二个评论中阅读更多详细信息。我在第一个回复中还写了一些我经历的步骤,希望这能帮助解决您的问题。

'aapt'错误。预编译器构建已中止


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