执行失败的应用程序:processDebugResources Android Studio


123

我正在使用bitbucket,因此我可以与其他开发人员一起工作,但看来我们无法使其完美运行。从他那里拉出更改后,我得到了这个错误:

Execution failed for task ':app:processDebugResources'.
> com.android.ide.common.internal.LoggedErrorException: Failed to run command:
    E:\Program Files (x86)\Android\android-sdk\build-tools\19.0.0\aapt.exe package -f --no-crunch -I E:\Program Files (x86)\Android\android-sdk\platforms\android-19\android.jar -M E:\Documents\smart-my-job1\app\build\manifests\debug\AndroidManifest.xml -S E:\Documents\smart-my-job1\app\build\res\all\debug -A E:\Documents\smart-my-job1\app\build\assets\debug -m -J E:\Documents\smart-my-job1\app\build\source\r\debug -F E:\Documents\smart-my-job1\app\build\libs\app-debug.ap_ --debug-mode --custom-package com.smartmyjob
Error Code:
    -1073741819

1
我遇到了这个问题,结果是我的Assets文件夹中的文件的文件名异常长。
杰克

而且,如果文件或图像名称中包含非英文字符,您将遇到同样的问题。我今天发现的。
Fuat

Answers:


108

对我而言,它有助于将buildTools的版本更改为:

buildToolsVersion "21.0.1"

您将在文件中找到此设置app/build.gradle


1
更改此设置是否会对实际项目产生任何副作用?
committedandroider

11
多亏了这个人,如果您仍然感到困惑,请查看下载的sdk管理器,看看最新版本的Android SDK build-Tools是什么。然后将gradle构建文件更改为我的版本是22.0.1。我们已经习惯了Studio和Gradle之间的这种支离破碎:)
afra mehrparvar,2015年

2
我是Android Studio的新手,如何执行此操作?
Shahid Karimi 2015年

@MarthaJames您将在文件中找到设置app/build.gradle
亚历山大·苏拉菲尔

3
我拥有最新的buildToolsVersion“ 23.0.1”。问题仍然存在
Tushar Banne '16

41

您遇到的错误是https://code.google.com/p/android/issues/detail?id=42752。原因通常似乎是对您的菜单资源之一中不存在的字符串的引用。


我遇到了以下问题dimenString types not allowed (at 'navigation_drawer_width' with value '320p'
Zapnologica

1
感谢@Scott,更具体地说,由于资源名称错误,R.java会得到错误,这就是显示错误的原因。
Lalit Sharma 2015年

在我的情况下,我已经在string.xml文件的字符串中添加了撇号('s)。删除后,它的工作。它是如此恼人的IDE无法显示正确的错误而让所有的资源不同步的..
MobileEvangelist

<string name="">在我的strings.xml文件中使用definitjon 击中相同的问题。您的strings.xml文件有效的两倍!
MatsLindh's

当我运行命令“ gradle clean build --stacktrace --debug”时,由于缺少图标文件,出现此错误。谢谢
陶涛

39

对我来说是我忘记安装32位依赖项:

sudo apt-get install -y lib32gcc1 libc6-i386 lib32z1 lib32stdc++6
sudo apt-get install -y lib32ncurses5 lib32gomp1 lib32z1-dev lib32bz2-dev

2
我在Android上使用myApp Ionic示例在Ubuntu环境上构建简单的APK时遇到了很多问题,安装这些缺少的依赖项解决了我的问题!
JLavoie '16

您在项目文件夹或Android系统文件夹中安装了哪个文件夹?
Azurespot'2

这个问题不适用-'apt-get'在系统中安装软件包。
dirkk0

15

aapt是32位,因此在启用32位体系结构之前不会在64位盒上执行

dpkg --print-foreign-architectures  #  if prints nothing then below is fix

sudo dpkg --add-architecture i386  #  add a 32 bit architecture to box

sudo apt-get install -y lib32gcc1 libc6-i386 lib32z1 lib32stdc++6

sudo apt-get install -y lib32ncurses5 lib32gomp1 lib32z1-dev

它对我有用。


4
这些是Ubuntu 16.04所必需的–LuísRigoni
2016年

使用Ubuntu 16.04时,应安装以下2个依赖项
Dharma Sai Seerapu

13

我有同样的问题,并解决了./gradlew clean build!尝试一下,如果不起作用,请尝试一下./gradlew --refresh-dependencies,您应该就可以了。


11

我的回答似乎为时已晚,但是在将SDK升级到API 21之后,我碰巧在Android Studio中遇到了相同的错误。我尝试了在此站点和https://code.google上遇到的所有解决方案。 com / p / android / issues / detail?id = 61308。这是我最终解决此错误的方法:我打开了应用程序的gradle.build文件,并对此进行了更改:

android {
    compileSdkVersion 21
    buildToolsVersion "21.0.0"

    defaultConfig {
        applicationId "com.abundantideas.layoutsample"
        minSdkVersion 8
        targetSdkVersion 21
        versionCode 1
        versionName "1.0"
    }

对此:

android {
    compileSdkVersion 21
    buildToolsVersion "20.0.0"

    defaultConfig {
        applicationId "com.abundantideas.layoutsample"
        minSdkVersion 8
        targetSdkVersion 20
        versionCode 1
        versionName "1.0"
    }

我将buildToolsVersion和targetSdkVersion值降低到20,我知道在升级之前可以正常工作。在我看来,API 21似乎为Gradle带来了问题。我希望这也会对其他人有所帮助。


7

就我而言,我清理了项目(菜单栏->构建->清理项目),然后再次进行了构建。有效。


4

就我而言,我有两个声明

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

在我的矢量可绘制图标中

我要做的就是删除一个



2

升级SDK存储库后,我遇到执行失败的app:processDebugResources Android Studio。我使用的是Android Studio 1.5.1,目标SDK版本是23。我以前使用过buildToolsVersion 21.0.1,将buildToolsVersion更改为21.1.2解决了我的问题。

您可能想要如何找到适用于21.1.2的版本。成功升级我的SDK后,Android Studio推荐了它。

在此处输入图片说明

将buildToolsVersion更改为21.1.2(请参阅下面的版本设置)后,您需要同步Gradle构建机制。

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "21.1.2"

    defaultConfig {
        applicationId "mm.weboffice"
        minSdkVersion 14
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:23.0.1'
    compile 'com.android.support:cardview-v7:23.0.1'
    compile 'com.android.support:recyclerview-v7:23.0.1'
    compile 'com.android.support:design:23.0.1'
    compile 'com.android.support:support-v4:23.0.1'
}

Android Studio会提示您同步Gradle,或者您可以转到“菜单>文件>同步”手动触发同步。同步后,Android Studio将重建您的项目。

在此处输入图片说明

我知道SDK数据库和配置存在很多问题,我提出的解决方案可能无法解决所有问题。但是,如果在升级SDK存储库后遇到类似的错误,希望我的帖子解决您的麻烦。祝好运!


这是一个写得很好的答案,但是请不要将完全相同的内容复制并粘贴到多个答案中
安迪

2

在我来说,我试图改变buildToolsVersiongradle,但它并没有帮助我。当我找到名为example.PNG的 drawable时,我的问题已解决 。应该是example.png ; 没有关于错误的资源名称的消息,但是在我重命名文件后,gradle构建了项目。


2

如果不是您的构建工具,请检查您的字符串,样式,属性,... XML文件并确保它们正确。例如,名称属性为空的字符串

<string name="">Test"</string>

或先前未定义的attr(未指定格式)(attrs.xml):

<declare-styleable name="MediaGridView">
    <attr name="allowVideo"/>
</declare-styleable>

2

用力撞了两天。

TL; DR-由于我的应用程序名称包含“-”,因此出现此错误。

原来android不允许那样。在gradlew build --stacktraceandroid目录中运行后-出现一个暗示该错误的错误。


2

它可能会帮助android studio 3.2.1应用程序构建gradle它应该像

android {
    compileSdkVersion 27
    buildToolsVersion '28.0.3'
    defaultConfig {
        applicationId "com.sample.mvphelloworld"
        minSdkVersion 21
        targetSdkVersion 27
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
       implementation fileTree(dir: 'libs', include: ['*.jar'])
       compile 'com.android.support:appcompat-v7:27.1.1'
       implementation 'com.android.support.constraint:constraint-layout:1.1.3'
       testImplementation 'junit:junit:4.12'
       androidTestImplementation 'com.android.support.test:runner:1.0.2'
       androidTestImplementation 'com.android.support.test.espresso:espresso- 
       core:3.0.2'
}

Gradle到4.6
插件版本到3.2.1


1

收到此错误后,我使用--info(gradle --info构建)进行了构建。它报告说由于错误的ELFCLASS无法打开libz.so.1。它需要32位版本的libz。我必须下载源代码,将Makefile更改为gcc -m32,然后安装32位glibc开发包(dnf安装glibc-devel.i686)。制作并安装此32位库之后,我禁用了64位库。

然后一切顺利。


1

我遇到了同样的问题,由于这个问题是google上的第一个热门问题,我也将添加我的解决方案。对我来说,这是元素中缺少的format属性。attrres/values/attrs.xml





0

就我而言,crashlytics(Fabric.io)生成的文件有时会发生冲突,并且第二个文件会自动以无效名称生成。

长话短说:检查文件名是否包含无效长度的文件,应该在原始异常之前警告您。



0

转到Gradle面板并通过在消息行上双击它来运行它,它会向您显示您的项目在哪里错误,例如,您可能有声音,电影或文件,或者...它在Google android i上的项目中压缩了非常抱歉我的英语真的很差


0

在资源名称中使用Java关键字时,会出现此错误。


0

有同样的问题。我从以下位置更改了应用文件夹中的文件build.gradle:compileSdkVersion 23 buildToolsVersion“ 23.0.2”

defaultConfig {
    applicationId "com.vastsoftware.family.farmingarea"
    minSdkVersion 11
    targetSdkVersion 23
    versionCode 1
    versionName "1.0"

对此:

compileSdkVersion 23 buildToolsVersion“ 21.0.2”

defaultConfig {
    applicationId "com.vastsoftware.family.farmingarea"
    minSdkVersion 11
    targetSdkVersion 21
    versionCode 1
    versionName "1.0"

并完美地工作!希望它也对您有用!



0

对我来说,这是我的资源出现错误,只需更改资源文件夹和res文件夹(即android)中我项目的资源,它就可以正常工作。

建立成功

总时间:1分钟10.034秒


0

您的版式可能存在一些错误,例如android:id="@id/而不是android:id="@+id/...。至少那是我例外的原因。



0

我在将Android Studio从2.3更新到3.0.1时偶然发现了此错误。在尝试了上述所有解决方案之后,我发现问题出在构建工具版本上。我使用了不受支持的构建工具版本。我按如下方式更改了我的方法,然后它起作用了。

buildToolsVersion '26.0.2'

根据经验,请始终尝试使用Gradle版本支持的最新版本的Build工具。从Gradle的3.0.0版本开始,您无需指定构建工具的版本,因为它会自动被拾取。

3.0.0(2017年10月):Gradle 3.0.0的Android插件

使用此更新,您不再需要为构建工具指定版本-插件默认使用最低要求的版本。因此,您现在可以删除android.buildToolsVersion属性。

https://developer.android.com/studio/releases/gradle-plugin.html#3-0-0


0

对我来说,我必须在Admin模式下运行Android Studio。

Windows 10 x64

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.