aapt错误138 processDebugResources

时间:2014-03-18 16:23:02

标签: android eclipse android-studio aapt

今天在构建/制作项目时遇到这个令人沮丧的错误,这似乎是因为使用构建工具19.0.1,19.0.2和19.0.3安装Android SDK 22.6(也尝试了22.6.1)。 aapt错误导致无法生成R.java。

我认为这是项目相关的东西,因为我有另一个项目可以构建。我尝试过清理项目/工作区,新工作区,重新安装Eclipse和Android SDK,然后移植到Android studio gradle,这是我在下面列出的错误。

编辑:我还将项目还原为之前的提交

有人遇到过这种事吗?通常干净的工作,但不是这次。

Error:Execution failed for task ':MyApp:processDebugResources'.
> com.android.ide.common.internal.LoggedErrorException: Failed to run command:
    /Users/scottab/dev/adt-bundle-mac-x86_64/sdk/build-tools/19.0.3/aapt package -f --no-crunch -I /Users/scottab/dev/adt-bundle-mac-x86_64/sdk/platforms/android-19/android.jar -M /Users/MyApp/build/manifests/debug/AndroidManifest.xml -S /Users/MyApp/build/res/all/debug -A /Users/MyApp/build/assets/debug -m -J /Users/MyApp/build/source/r/debug -F /Users/MyApp/build/libs/MyApp-debug.ap_ --debug-mode --custom-package com.myapp.android --output-text-symbols /Users/MyApp/build/symbols/debug
  Error Code:
    138

5 个答案:

答案 0 :(得分:19)

我有点晚了,但如果您最初在项目中包含appcompat并稍后将其删除,则菜单xml中可能存在陈旧的引用。

这是使用appcompat

的菜单
<item android:id="@+id/action_settings"
    android:title="@string/action_settings"
    android:orderInCategory="100"
    app:showAsAction="never" />

请参阅app:showAsAction="never"?这就是我的问题所在。将其切换回android:showAsAction="never"为我修复它。

答案 1 :(得分:16)

这是AAPT中的一个错误,当它看到对不存在的资源的引用时会崩溃。不幸的是,它需要您浏览资源文件以尝试发现错误,因为它往往不会为您提供有用的信息。

这是在https://code.google.com/p/android/issues/detail?id=61308中写的,如果你看那里,你会找到其他用户为解决崩溃而修复的例子。

答案 2 :(得分:0)

这是我编写的用于克服错误的内容:

<?xml version="1.0" encoding="utf-8"?>

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

        <item  android:id="@+id/action_settings"
          android:title="@string/action_settings"
          android:orderInCategory="100"
          blogreader:showAsAction="never" />
</menu>

其中blogreader是应用程序的名称。

参考:Adding action buttons

答案 3 :(得分:0)

今天我遇到了同样的问题,但是没有回答,也没有评论,帮助了我。

最后有2个问题,可能是另一个问题......

  1. 我的防病毒软件(Avast)从一个SDK文件中检测到“威胁”...所以我的Android Studio可能认为我的“build.graddle”文件中没有包含AppCompat库,并自动添加了第二个。它看起来像这样:

    compile "com.android.support:appcompat-v7:21.0.+" 
    compile "com.android.support:appcompat-v7:21.+"
    
  2. 所以我删除了其中一个并且我得到了R类,但是“appt”错误仍然存​​在。

    1. 我的亲爱的Avast显然从SDK文件夹中获取了一些exe,所以我开始使用“SDK Manager”。在经理中,我正在使用的“SDK编译工具”(我认为是2.1.1)未得到解决(可能在校验和同步时失败),所以我重新安装了它。
    2. 和VOILA!,它有效,现在我很高兴。

答案 4 :(得分:-3)

dexOptions {
    incremental false
    preDexLibraries = false
    jumboMode = false
    javaMaxHeapSize "3g"
}