以非零退出值结束


165

我正在尝试导入我的项目。但是当我运行该应用程序时,出现以下错误:

Error: Execution failed for task ':app:processDebugResources'.
 > com.android.ide.common.process.ProcessException:      
   org.gradle.process.internal.ExecException: Process 'command 'C:\Users\Vishnu  Ruhela\AppData\Local\Android\sdk\build-tools\21.1.2\aapt.exe'' finished with non- zero exit value 1

这是我的gradle文件

apply plugin: 'com.android.application'

android {
    compileSdkVersion 21
    buildToolsVersion "21.1.2"
    defaultConfig {
        applicationId "com.example.vishnuruhela.signup"
        minSdkVersion 15
        targetSdkVersion 21
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    productFlavors { }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:21.0.3'
    compile project(':listView1')
}

2
您好,您能够解决此问题。我遇到类似的错误
Hugo Alves

@HugoAlves hiii,但我仍然没有解决这个问题。
Ankur1994a

面对同样的问题,您是否得到了答案
Ashutosh Salodkar,2015年

@AshutoshSalodkar hiii,实际上我没有找到答案,但是我仍然理解如果您使用的库版本较低或与您的sdk和构建工具版本不兼容,则会出现此问题
Ankur1994a 2015年

1
请分享更多来自例外的文字。应该有一些描述问题的文字。寻找第一行例外。它可能像OutOfMemory或重复的lib之类的东西。该细节将有助于理解
Adeem

Answers:


158

我正在得到这个完全相同的错误。我执行了命令

./gradlew assembleDebug --info

其中,用assemble任务替换了“ assembleDebug”,以获取所需的调试版本。

寻找输出

成功启动过程'command'/usr/local/opt/android-sdk/build-tools/21.1.2/aapt''

在下面的右边是一个错误,描述了我在布局文件中使用但在尺寸文件中丢失的资源。解决此问题可以解决构建问题。


3
我在哪里找到文件(./gradlew assembleDebug)?
Pandiyan Muthu 2015年

我是Android Studio的新手,我对该文件一无所知。ü可以解释我是如何解决这个问题
Pandiyan MUTHU

12
这不是文件。这是一个命令。如果您在Mac或Linux上,请打开命令行,导航至您的项目并运行该命令。我认为是在Windows上运行“ gradlew.exe assembleDebug -info”吗?
laochiv 2015年

2
我在命令行上运行该错误,并得到了相同的错误:出了什么问题:任务':BPIMobIntegratedPosition:processDebugResources'的执行失败。> com.android.ide.common.process.ProcessException:org.gradle.process.internal.ExecException:进程'command'/sdk/build-tools/21.1.2/aapt'完成,非零退出值1´
Hugo Alves

12
为Windows运行“ gradlew assembleDebug --info”
Jitin

99

一开始你去

Build -> Clean Project 

然后去

Build -> Rebuild Project

并完成错误是一种方法


84
这根本没有帮助。误导性答案。
Mark O'Sullivan

2
它没有帮助。我在遇到同样的错误Build -> Clean Project
M Faisal Hameed

为我工作。不知道为什么-我所做的就是在app / build.gradle中更改了一行不应该影响资源的行。
AutonomousApps

1
绝对不会误导-我将mp3文件换成了ogg文件,并得到了相同的错误,此问题得以解决。
ElDoRado1239'8/

解决了在不更改资源扩展名的情况下更改其名称的问题。
路易CAD

46

安装最新版本的构建工具。调整build.gradle使用

android {
    compileSdkVersion {X}
    buildToolsVersion "{X.Y.Z}"
   ...
}

正确的值应与您安装的SDK相匹配。撰写本文时可能为23.0.3。
或检查并从列表中删除重复的依赖项。

请享用 :)


你怎么知道的 这个错误有什么用?
ono 2015年

1
因为我遇到了这样的问题并为此提出了建议。
RaRa 2015年

60
嗨,我设置buildToolsVersin“ 22.0.1”仍然面临这个问题
Dilip

1
嗨,我有buildToolsVersin“ 22.0.1”仍然存在此问题
user4232

1
更改为v 23.0.3在android studio中为我工作了,谢谢。
EpicJoker

15

请按照以下简单步骤恢复此错误:

方法1:

-Go to File->project structure->Project
-Check Android plugin Version and change it to 1.3.0(Latest one)
-Go to File->project structure->app->Properties->Build Tools Version
-Change it to latest one(22.0.1). Also do this for any other module you have for your project.
-Clean and build project.

注意:如果构建工具的版本低于22.0.1,则在gradle构建过程中可能仍然会遇到相同的错误,因此请从SDK Manager更新SDK至最新版本,然后重新启动android studio并按照上述步骤操作。

方法2:

-If you don't want to update build tools version or you don't have latest SDK version just Go to File->project structure->Project.
-Check Android plugin Version and change it to 1.0.0(Older one)
-Clean and build project.

我推荐了方法1。


帮助了我,让我+1 :)
Richa 2015年

@Pranav很好,而且每次都可以正常运行,但是这次不起作用。
Ankur1994a

@ankur您遇到什么问题?您是否更新了最新的构建工具和gradle插件?
普拉纳夫2015年

14

.png.jpg图片替换某些图片资源后,我遇到了同样的问题。

我删除了appname/app/build,然后选择了Build -> Rebuild project 它,最后它没有任何错误地工作了。


5
我遇到了同样的问题,我清理了项目并解决了这个问题,在用同名的jpg替换png drawables之后遇到了这个问题。
Mahmoud

7

就我而言,taciosd和Netero的答案指向了正确的方向。通过分析:

gradle assembleDebug --stacktrace --debug 

Linux:

./gradlew assembleDebug --stacktrace --debug

我发现资产文件夹中的一个文件路径太长,aapt.exe通过在处理该文件时返回1(并且没有特定的错误消息)而停止。似乎名称中包含非ASCII字符的文件也不会被接受。


那正是我的情况。非常感谢!似乎早在2015年2月就有关于此问题的错误报告,但仍然失败。现在,我必须以某种方式更改所有这些资产文件名,这有点麻烦,因为它们是基于从使用七种不同语言的数据库中收集的信息自动生成的。我早在80年代甚至90年代就可以理解这些问题,但是天哪,我们在2016年,对Unicode的支持不是很好?真是个坏笑话。
Fran Marzoa '16

JFTR,这是我从aapt收到的错误:“küchen.dat:错误:无效的文件名。无法添加。” 顺便说一句,它是第一个文件名中没有ascii字符的资产。除了德语以外,我还有数十种西班牙语,法语,葡萄牙语甚至俄语……这真糟。
Fran Marzoa '16

6

前几天我突然遇到了同样的错误。我做了一个“清理项目”和一个“重建项目”,再也没有看到错误。

我只有几个月的Android开发经验。但是,每当出现类似这样的无法解释的错误时,我都会尝试“清理项目”和/或“重建项目”。


您保存了我的一天:-)
Bhargav Kumar R

5

我遇到了同样的问题,我通过删除我在资产文件夹中添加的文件来解决该问题,并且这些文件名包含不支持的字符,如“é”,“”,“ï”,“è” ......通过重命名或删除这些名称文件您将没有问题。


这是我的问题。我在资产文件夹中添加了一堆文件,却没有意识到其中有一些“é”等
。– mogile_oli

谢谢,你给了我一个主意。我的strings.xml中有一个未转义的字符-很长的一行,皮棉没有显示出来
-Inoy

5

BuildToolsVersion依赖项必须与基本API版本相同。

buildToolsVersion '23.0.2' & compile 

com.android.support:appcompat-v7:24.0.0-alpha1

与基本API级别不匹配。

它应该是

compile 'com.android.support:appcompat-v7:21.0.3'

完成了


4

当不支持项目的一个或多个资源时,通常会在任务processDebugResources或processReleaseResources中执行aapt错误。

要找出答案,请转到项目的根目录并运行:

gradle processDebugResources --debug

这将打印特定的错误。就我而言,这是资产文件夹中的文件,其名称具有无效字符(LEÃO.jpg)。aapt不支持拉丁字母中的某些字符。

但是,正如我所解释的,您的问题可能不止于此。要确定要知道,您必须使用--debug选项运行processDebugResources。


这确实有帮助。使用--debug运行时,它可能会输出很多内容,因此您可以搜索“错误:无效的文件名。无法添加。” 确定引起问题的文件。
velval '16

4

我在编译时遇到了同样的错误。我在这里尝试了所有方法,但只有一件事失败了,但是花费了很多时间。通过在CMD上运行此代码来调试我的应用,并在XML布局中向我显示缺少的标记。

gradle processDebugResources --debug

最好的方法是分析错误,而不仅仅是忽略错误。

为了运行此代码,我安装了Java JDK,然后为JAVA_HOME和Gradle设置环境变量:。

对于gradle

C:\Program Files\Android\Android Studio\gradle\gradle-4.6\bin

对于java

JAVA_HOME=C:\Program Files\Java\jre1.8.0_191

3

您必须执行以下指示:

单击工具栏中的“生成”,然后

Clean project -> Rebuild Project


3

在此处输入图片说明

请确保compileSdkVersionbuildToolsVersion并且targetSdkVersion具有相同的版本号。我也有此错误,因为它具有不同的版本。这个解决方案对我有用。

希望它能对大家有所帮助。


3

当我们的代码中有layout.xml文件错误时,我们会收到此错误消息。再次检查您的xml文件。


2

在您的styles.xml文件中查找@ + id /我在values-v17的styles.xml文件中找到了一个,我不记得创建过。这就是我最终必须更改的内容,而不是按照建议的那样构建工具21.1.2至22.0.1。


2

我的图片也出现了同样的错误..只需将扩展名从“ .png”重命名,或者将其重命名为“ .jpg”


2

我有同样的问题。

尝试使用字母,数字和下划线以外的字符重命名资产文件夹中的文件。

特别是,寻找英文中不常见的撇号和欧洲字母。


我的资产目录中的压缩文件导致了我的这种情况。
2013年

2

我用命令构建:

./gradlew build --info

它显示更多错误消息,我的问题是文件名中包含特殊字符。


2

我也正面临这个问题,只是因为我在Android Sudio中打开项目时重命名了项目文件夹。因此,Android Studio在窗口的该目录中创建了另一个文件夹。

我在build.gradle(Module:app)中发现,所有支持库都已更新,并且在项目的编译时抛出错误。

您需要做的就是,只需将更新的支持库更改为您当前的构建工具版本,然后重新构建项目。

compile 'com.android.support:appcompat-v7:22.2.1'
compile 'com.android.support:design:22.2.1'
compile 'com.android.support:cardview-v7:22.2.1'

我当前的构建工具版本是22.2.1


2

当我替换项目中的图像时,就会出现此问题。然后我发现其中一张图片的扩展名为.PNG,然后将其重命名为.png,然后问题就解决了。希望对您有帮助


2

我遇到了同样的问题,并且只有在删除.gradle之后它才消失。从项目根目录中文件夹。

因此,请确保您:

  1. 在Android Studio中关闭项目
  2. 打开文件浏览器,找到项目的根目录
  3. 完全删除文件夹.gradle

我希望这有帮助。祝好运!


1

我也遇到了这个问题。

  • 当我将一些样本或已经存在的模块导入项目时,通常会遇到此问题。
  • 我刚刚将最新的v7v4从android studio中的maven 添加到了我的项目中,并进行了修复
  • 如果您的库项目和应用程序项目正在使用v7v4或任何其他库,则明智地从项目中删除重复的依赖项,它们应为相同版本。或尝试仅在您的图书馆项目中使用它

1

我有同样的问题。甚至JPG文件也不起作用。将所有图像文件放入mipmap中并工作。他们完美地工作。


1

我今天遇到了同样的问题,并尝试清理和重建项目。

我没有解决我的问题。我通过更改Gradle应用程序文件中的compileSdkVersion,buildToolsVersion,targetSdkVersion和com.android.support:appcompat-v7:23.0.1值解决了该问题。然后,我跑了干净,然后重建项目。


1

对于返回值3“ OutOfMemory异常”,我在gradle android部分中添加了以下内容

android {
............
dexOptions {
    incremental = true;
    preDexLibraries = false
    javaMaxHeapSize "4g" // 2g should be also OK
}
............
}

对于具有返回值2的第二个问题,我早些时候已经关注了JDK 7的gradle依赖关系

compile 'com.android.support:appcompat-v7:+'
compile 'com.google.android.gms:play-services:7+'
compile 'com.facebook.android:facebook-android-sdk:+'
compile 'com.android.support:recyclerview-v7:+'
compile 'com.android.support:support-v4:+'

然后我将我的JDK更新到8,它开始给我错误(可能对于jdk 8,有7个以上可用的库)运行应用程序时。解决我的问题的是提供特定版本而不是7+。即

compile 'com.android.support:appcompat-v7:23.1.0'
compile 'com.google.android.gms:play-services:8.1.0'
compile 'com.facebook.android:facebook-android-sdk:4.7.0'
compile 'com.android.support:recyclerview-v7:23.1.0'
compile 'com.android.support:support-v4:23.1.0'

1
您在这里的内存不足是因为您包括了所有播放服务。您可以阅读有关将依赖项拆分为实际需要的包的信息。
OneCricketeer

1

就我而言,我必须在Ubuntu 15.04上安装“ libz.so.1”库才能使其正常运行

sudo apt-get install lib32z1

1

错误:任务com.android.ide.common.process.ProcessException的执行失败:org.gradle.process.internal.ExecException:

用非零的退出值1结束。发生此错误的原因之一是资源文件的文件路径太长:

错误:Windows上的文件路径太长,请保持240个字符以下

Fix: Move your project folder closer to the root of your disk

不要://文件夹/文件夹/文件夹/文件夹/ very_long_folder_name / MyProject ...

Do://folder/short_name/MyProject

另一个原因可能是资源或名称空间重复

例:

<style name="MyButton" parent="android:Widget.Button">
      <item name="android:textColor">@color/accent_color</item>
      <item name="android:textColor">#000000</item>
  </style>

1

在我的情况下,此错误是由空的布局xml文件引起的。

我创建了空文件,但忘记向其中添加任何内容。AndroidStudio给出了这个令人误解的错误消息,但是当我从命令行执行gradle build时,我可以看到真正的错误,例如“错误解析XML:找不到元素”和文件名。

添加基本​​布局xml内容可修复该错误。


1

compileSdkVersion在机器人/ biuld.gradle和compileSdkVersion在所有其他包应该是相同的。


1

仅作记录。我在这里遵循了所有清理/重建和更新SDK-Tools的方法,但最终却禁用了Instant Run来解决我的问题。

转到:Android Studio->首选项-> Build,ExecutionDeployment->即时运行

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.