19

我有一个突然停止工作的 Android 应用程序项目。显然没有错误,但是当我尝试启动时,我得到了这个:

执行 aapt 时出错:返回代码 139

我试图清理项目及其依赖库项目,重新启动 Eclipse,更新到最新的 ADT 和 SDK 版本等,但都失败了。我有时也有这个其他错误(没有改变任何东西):

生成最终存档时出错:java.io.FileNotFoundException: .../bin/resources.ap_ 不存在

我完全迷路了。

更多信息

我花了几个小时来分解和重​​新组装所有东西,最后找到了导致这些错误的原因,尽管我仍然没有更好的理解......我有这样的资源:

<resources>
<integer-array name="titi">
<item>@+id/toto</item>
</integer-array>
</resources>

我删除了它,一切又恢复了……当然,资源文件根本没有错误。半天白白浪费了,这个 Eclipse 快把我逼疯了 8-/ 只有我一个人吗?

4

5 回答 5

38

只是遇到了同样的问题,问题是我在菜单文件夹中有一个菜单文件,而android:title="@string/.."我的字符串文件中不存在该文件。添加它并执行后Project > Clean,问题就消失了。

于 2013-12-16T02:33:32.043 回答
5

不要@+id/...在这里使用:

<?xml version="1.0" encoding="utf-8"?>    
<resources>
    <integer-array name="titi">
    <Item>@+id/Toto</item>
    </integer-array>
</resources>

@+id/...只能在布局资源中使用。

如果需要,使用@id/...并生成带有帮助资源文件的 ID: res/values/ids.xml:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <item type="id" name="toto" />
</resources>

http://developer.android.com/guide/topics/resources/more-resources.html#Id

于 2013-06-23T15:27:55.447 回答
2

遇到同样的问题,在播放一个小时左右后,问题被追踪到一个单引号“'”,出现在资源中。删除了报价,错误消失了。

于 2014-09-17T13:23:29.450 回答
2

我刚刚将一个项目从使用Android v7 appcompat 支持库中移开并遇到了这个问题。原来我有一堆菜单资源文件,它们仍在使用它们的某些属性的 appcompat 版本。

我曾经有这个:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:compat="http://schemas.android.com/apk/res-auto">
    <item
        android:id="@+id/conversations_activity_menu_contacts"
        android:title="@string/contacts"
        compat:showAsAction="ifRoom|withText" />
</menu>

但随后通过将它们更改为以下内容来纠正问题:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:id="@+id/conversations_activity_menu_contacts"
        android:showAsAction="ifRoom|withText"
        android:title="@string/contacts" />
</menu>
于 2014-03-20T20:33:07.900 回答
0

AAPT 错误有时是由于 eclipse 运行内存不足造成的。请参阅:

如何在 Eclipse 中诊断“执行 aapt 时出错”错误?

对于问题的第二部分,请参见:

Android打包问题:resources.ap_不存在

于 2012-12-13T18:18:05.633 回答