执行失败 app:processDebugResources Android Studio

133

我正在使用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

2
我曾经遇到过这个问题,结果发现我的资产文件夹中有一个文件名特别长的文件。 - Jack
而且,如果文件或图像名称中有非英文字符,您将遇到相同的问题。我今天发现了这个问题。 - Fuat
我遇到了与processIdeDebugResources类似的问题。 结果发现删除构建文件夹,并再次运行应用程序后,它列出了其他错误。 - I.Step
39个回答

111

对我来说,将buildTools的版本更改为以下内容有所帮助:

buildToolsVersion "21.0.1"

你可以在文件app/build.gradle中找到此设置。


1
更改这个会对实际项目产生任何副作用吗? - committedandroider
11
多亏了这个人,如果你还是感到困惑,请查看你下载的sdk管理器并查看最新版本的Android SDK构建工具是什么。然后将你的gradle构建文件更改为那个版本,我的现在是22.0.1。我们正在逐渐习惯于Android Studio和Gradle之间的这种分裂。 - afra mehrparvar
2
我是Android Studio的新手,怎么做呢? - Shahid Karimi
@MarthaJames 你可以在文件 app/build.gradle 中找到该设置。 - Alexander Suraphel
3
我正在使用最新的buildToolsVersion是"23.0.1",但问题仍然存在。请为我翻译这句话。 - Tushar Banne
通过以下方式解决: Ctrl + Shift + Alt + S:我将构建工具与编译SDK设置为相同版本,即26.0.2。 - Haider

45

我遇到了一个和“dimen”有关的问题:不允许使用字符串类型(在值为“320p”的“navigation_drawer_width”处)。 - Zapnologica
1
谢谢@Scott,更具体地说,R.java出错是因为资源名称错误,这就是为什么会显示错误。 - Lalit Sharma
在我的情况下,我已经在string.xml文件中的字符串中添加了撇号s('s)。删除后它可以工作。这真的很烦人,因为IDE无法正确显示错误,而是使所有资源不同步。 - MobileEvangelist
在我的strings.xml文件中,我遇到了与<string name="">定义相同的问题。请确保您的strings.xml文件有效! - MatsLindh
我在删除未使用的资源后遇到了这个问题。我删除了一个在未使用的layout.xml中使用的<string>,但我没有删除layout.xml文件。 - Kimi Chiu
显示剩余2条评论

40

对我来说,问题在于我忘记安装32位依赖项:

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

2
我在 Ubuntu 环境中使用 Android 的 myApp Ionic 示例构建一个简单的 APK 时遇到了很多问题,安装这些缺失的依赖项解决了我的问题! - JLavoie
你把它们安装在哪个文件夹里了?是在你的项目文件夹里还是安卓系统文件夹里? - Azurespot
这个问题不适用 - 'apt-get' 在系统中安装软件包。 - dirkk0

16

aapt是32位的,因此在64位系统上运行需要启用32位架构。

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ís Rigoni
当您使用Ubuntu 16.04时,应安装这两个依赖项。 - Sai's Stack

15

我曾经遇到同样的问题,并通过执行./gradlew clean build解决了它!你也可以尝试一下,如果不行,之后再尝试执行./gradlew --refresh-dependencies,这应该能够解决问题。


13

我的回答可能有点晚,但我也遇到了在将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造成了问题,这在我的情况下是如此。我希望这也能帮助其他人。


9

在我的情况下,我清理了项目(菜单栏 -> 构建 -> 清理项目),然后重新构建。这样做就可以了。


被低估的答案 - Elmir

5
在我的情况下,我有两个声明:

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

在我的矢量可绘制图标中

我所需要做的就是删除其中一个。


3
在我的情况下,我通过在Android Studio 3.1.2中禁用Instant Run来解决了问题。 Android Instant Raun Disable

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接