Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 处理调试资源时发生aapt错误_Android_Eclipse_Android Studio_Aapt - Fatal编程技术网

Android 处理调试资源时发生aapt错误

Android 处理调试资源时发生aapt错误,android,eclipse,android-studio,aapt,Android,Eclipse,Android Studio,Aapt,今天在构建/制作项目时遇到了这个令人沮丧的错误,这似乎是因为使用构建工具19.0.1、19.0.2和19.0.3安装了Android SDK 22.6(也尝试了22.6.1)。aapt错误导致不生成R.java 我认为这是一个项目相关的东西,因为我有另一个项目,建立ok。我尝试过清理项目/工作区、新建工作区、重新安装Eclipse和AndroidSDK,然后将其移植到AndroidStudio gradle,这就是我在下面提到的错误 编辑:我还将项目恢复到以前有效的提交状态 有人碰到过这种事吗?

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

我认为这是一个项目相关的东西,因为我有另一个项目,建立ok。我尝试过清理项目/工作区、新建工作区、重新安装Eclipse和AndroidSDK,然后将其移植到AndroidStudio 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

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


这是在中写的,如果您在那里查看,您会发现其他用户已修复的解决崩溃的示例。

我有点晚了,但是如果您最初在项目中包括appcompat,然后将其删除,则您的菜单xml中可能有一个过时的引用

下面是appcompat的菜单

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


请参阅
应用程序:showAsAction=“never”
?这就是我的问题所在。将其切换回android:showAsAction=“never”为我修复了它。

这是我为克服错误而编写的代码:

<?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是应用程序的名称


参考资料:

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

最后有两个问题,可能一个是由另一个引起的

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

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

  • 另外,我亲爱的Avast从SDK文件夹中获取了一些exe,所以我启动了“SDK管理器”。在manager中,我使用的“SDK编译工具”(我想是2.1.1)未加密(可能在校验和比较时失败),所以我重新安装了它

  • 瞧!,它成功了,现在我很高兴。

    你最近有没有更换资源?AAPT崩溃往往是由于缺少引用的资源(例如,菜单资源不存在@string引用)造成的。我查看了最近的更改,没有发现任何明显的变化,而是恢复到以前编译aok的几个提交。不仅要仔细检查菜单引用,还要检查名称空间。特别是,如果你使用app:showAsAction而不是android:showAsAction,这是一种简单的方法。谢谢你,我删除了所有menu.xml文件,并对它们的使用位置进行了评论,然后砰的一声!我有一个机器人!把它们一个接一个地加回去,我发现了问题文件——尽管看一下没问题。当我回滚时,我显然没有回滚足够远。非常有用的答案-在我的例子中,一个简单的拼写错误serch/search这是我的问题,menu.xml是由Android Studio自动生成的。Android Studio已经自动为我生成了一个菜单文件。尽管我选择minSdk为14(Android 4.0),但它还是决定在应用程序的某些部分使用AppCompat。用
    android
    替换
    app
    解决了这个问题。当我使用AS->New->Blank活动时,这种情况发生在我身上。它添加了menu.xml,更新了build.gradle,并添加了appcompat导入。由于gradle
    :app:processDebugResources
    任务中的神秘失败,所有这些都需要删除。太棒了,发生在我身上的事情,这就解决了。
    dexOptions {
        incremental false
        preDexLibraries = false
        jumboMode = false
        javaMaxHeapSize "3g"
    }