Android 处理调试资源时发生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,这就是我在下面提到的错误 编辑:我还将项目恢复到以前有效的提交状态 有人碰到过这种事吗?通常情况下,清洁工作,但不是这次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,这就是我在下面提到的错误 编辑:我还将项目恢复到以前有效的提交状态 有人碰到过这种事吗?
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是应用程序的名称
参考资料:今天我遇到了同样的问题,但这里没有回答,也没有评论帮助我 最后有两个问题,可能一个是由另一个引起的
compile "com.android.support:appcompat-v7:21.0.+"
compile "com.android.support:appcompat-v7:21.+"
瞧!,它成功了,现在我很高兴。你最近有没有更换资源?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"
}