Eclipse Android:执行aapt时出错:返回代码138,我所做的一切似乎都无法解决

时间:2014-03-08 22:22:18

标签: android xml eclipse menu aapt

我正在尝试在我的Android应用中添加操作栏操作按钮到我的操作栏。每次我向res / menu /(某些xml文件)添加一个动作按钮时,我一直得到错误aapt:返回代码138.所以即使eclipse说错误不是因为我的代码,也一定是因为我的代码。每当我在“菜单”目录中创建的xml文件中添加操作按钮时,就会弹出错误。根据{{​​3}},它与不在res / values / strings.xml中声明我的字符串有关。但即使我在那里声明我的字符串,错误仍然会弹出!这简直就是真气。我将在下面包含我的菜单和字符串xml文件,以防他们的错误。如果您需要更多信息或有其他问题,请随时提出。

strings.xml文件

<resources>

        <string name="app_name">Beacon Portal</string>
    <string name="action_settings">Settings</string>
    <string name = "edit_item">Action Bar Icon Edit</string>
        <string name="hello_world">Hello world!</string>
        <string name="Fragment1">This is where the schedule goes when I get around to making that because it seems like some people want that</string>
        <string name="FragmentTab1">This is ViewPager Fragment Tab 1</string>
        <string name="FragmentTab2">This is ViewPager Fragment Tab 2</string>
        <string name="drawer_open">Open navigation drawer</string>
        <string name="drawer_close">Close navigation drawer</string>


        <!-- Nav Drawer Menu Items -->
        <string-array name="nav_drawer_items">
            <item >Schedule</item>
            <item >Homework Due</item>
            <item >Logout</item>

        </string-array>

        <!-- Nav Drawer List Item Icons -->
        <!-- Keep them in order as the titles are in -->
        <array name="nav_drawer_icons">
            <item>@drawable/ic_action_go_to_today</item>
            <item>@drawable/ic_action_duehomework</item>
            <item>@drawable/ic_action_logout</item>

        </array>

        <!-- Content Description -->
        <string name="desc_list_item_icon">Item Icon</string>

         <!-- general stuff -->

        <string name="userid_label">OpenMinds</string>

        <!-- titles -->
        <string name="title_activity_actionview">ActionView</string>
        <string name="title_activity_about">About</string>

        <!-- ActionBar -->
        <string name="edit">Edit Schedule</string>
        <string name="apply">Apply Edits</string>


      </resources>

menu_fragment_apply.xml(在res / menu /中)     

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

    <item
        android:id="@+id/actionViewApply"
        android:icon="@drawable/ic_action_agree"
        app:showAsAction="ifRoom"
        android:title="@string/apply"/>

</menu>

7 个答案:

答案 0 :(得分:9)

问题是

应用程式:showAsAction = “ifRoom”

那应该是

机器人:showAsAction = “ifRoom”

代替。当你使用app compat库时使用app:showAsAction,我假设你没有在这里使用。

答案 1 :(得分:2)

我刚刚解决了这个问题。

这是因为当我还有一个引用已删除图像的layout.xml文件时,我从drawable文件夹中删除了一个图像。

我通过在项目范围内搜索已删除图标的名称解决了该问题,并删除了对丢失图标的所有引用。然后我重建了项目,错误消失了。

答案 2 :(得分:1)

获取此错误意味着您的Android安装可能会以某种方式损坏。通常,在特定情况下的项目中会出现此错误,例如生成新图标或添加新的xml文件。如果您在&#34;问题&#34;中看到此错误干净后的窗口,首先尝试关闭并重新打开Eclipse,然后尝试执行 Project => Clean

如果相同的消息仍然存在,您可能需要重新安装包含ADT Bundle的{​​{1}}。您应该从计算机中删除整个现有Eclipse(包括ADT bundleEclipse)并重新下载该捆绑包,从头开始提取内容并重新设置。完全重新安装后,用户很少遇到此错误。

参考:github.com wiki

答案 3 :(得分:1)

所以我从来没有真正弄清楚问题是什么,但我想出的一个临时修复是每次我添加一个新的菜单文件,我将不得不删除所有菜单文件,包括新的菜单文件,然后清理和刷新。之后,我将不得不再次添加所有菜单文件,然后清理并刷新,错误消失了。真烦人,但至少这对我有用。

答案 4 :(得分:0)

我遇到了这个错误,因为我在库项目中定义了一个菜单资源,而不是在主Android应用程序项目中。

答案 5 :(得分:0)

可能发生这种情况的另一个原因是Project Build Target(在Project Settings - &gt; Android中)设置得太低,因此XML与处理它的工具不兼容。

我刚刚遇到这个问题,显示的是minSdkVersion = 9,targetSdkVersion = 19,所以Eclipse将构建目标设置为9.将其重置为14使问题消失 - 到那时我已经让我的下属看起来很难一些XML没有版本控制或一些错误的ID;)

答案 6 :(得分:0)

我这几天在ADT for mac中遇到过这个问题。 无法生成R文件导致返回代码138,最后我通过查找String.xml文件中缺少字符串来解析它,并在其他代码中调用它。 也许你可以试试......

相关问题