Android Studio:“在C驱动器上创建项目时,执行任务':app:mergeDebugResources'失败”

47

我在我的当前项目中添加了Google Play服务作为依赖项。 如果我将项目保存在C:驱动器中, 同步项目时会出现以下错误:

Error: Execution failed for task ':app:mergeDebugResources'.
       > Error: Failed to run command:
       C:\Program Files (x86)\Android\android-studio\sdk\build-tools\android-4.4.2\aapt.exe s -i C:\Users\ashokp\Desktop\Studio\AndroidV2SDK_AndroidStudioFormat\Google Play
       Services\SampleApplication\AndroidV2SDKSampleApp_GooglePlayServices\app\build\exploded-aar\com.google.android.gms\play-services\4.3.23\res\drawable-hdpi\common_signin_btn_text_focus_light.9.png -o
       C:\Users\ashokp\Desktop\Studio\AndroidV2SDK_AndroidStudioFormat\Google Play
       Services\SampleApplication\AndroidV2SDKSampleApp_GooglePlayServices\app\build\res\all\debug\drawable-hdpi\common_signin_btn_text_focus_light.9.png
       Error Code:
       42

只有在C:驱动器上保存项目时才会发生这种情况。如果我将其保存到其他驱动器,则可以完美工作。

还有其他人遇到这个问题吗?是什么原因造成的?如何修复/规避这个问题?

输入图像描述


1
你能否尝试将Google Play服务复制到另一个位置,以便路径更短?Windows对路径长度有一些限制。 - Eugene
1
你是如何添加Play服务的?作为Gradle依赖项吗? - athor
1
@Eugene 我有同感。可能是由于路径长度限制导致的问题。 - Vipul
@athor 是的,我正在将它添加为Gradle依赖项。 compile 'com.google.android.gms:play-services:4.3.23' - Vipul
这个解决方案对我起作用了 https://dev59.com/WHI-5IYBdhLWcg3wZ3UR#1880494 - Sboniso Marcus Nzimande
当我升级了我的gradle(正如编译器建议的那样),在Mac上遇到了同样的错误。它们有什么相似之处? - SMBiggs
33个回答

59

这是由于路径长度限制引起的问题。 我认为最多只能有256个字符。

重新定位项目,构建就会成功。


它对我有效。在Windows上,我将项目从“文档”移动到C:/并且可以工作了。 - Ayer Ribeiro de Souza Netto
还有,它可能是重复资源错误,例如如果您将两个图标(文件名相同但文件类型不同)放入drawable文件夹中,它会导致此错误。 - Thirasha

12

我遇到过同样的问题。尝试进入“生成”-“重新生成项目”。我再也没有遇到这个问题了,我的应用程序成功启动。


2
从技术角度来说,它确实提供了问题的答案。只是不是你认为问题应该得到的答案。如果有人有一个成功的解决方案,在这种特定情况下显然对多个人有效,那么它就是一个合法的答案。 - ddonche

9

对于生活在伊朗的开发者,只需离线再次构建即可完成!(与制裁有关!)


2
使用VPN也能帮助我! - Arvin Rokni

4

我有一个类似的问题:Error:Execution failed for task ':app:mergeDebugResources。最后我发现原因是图片资源出错,使用错误的“.9.png”。


我尝试了重构“.9.png”文件,但我仍然遇到了问题。 - natsumiyu

3

在模块的build.gradle文件中添加以下内容。

android{
    aaptOptions.cruncherEnabled = false
    aaptOptions.useNewCruncher = false
} 

模块的 build.gradle 是什么?是 app/build.gradle 还是 root build.gradle? - Naresh

2

我在升级到Android-Studio 3.6后遇到了这个问题,唯一有效的解决方法是通过更改项目build.gradle设置进行降级。

将其从以下内容更改:

dependencies {
    classpath 'com.android.tools.build:gradle:3.6.0'
}

dependencies {
    classpath 'com.android.tools.build:gradle:3.3.0'
}

2
在我的情况下:
  1. 我遵循了这个答案

  2. 更改了项目的位置。

  3. 尝试另一个安卓设备[构建并成功安装]

  4. 在我的安卓设备上尝试[构建并成功安装*卸载任何先前版本的相同应用程序]

编辑- 再次发生了

我收到了这个错误消息和很多其他类似的消息

x-version已弃用,请使用y-version代替,并将在2019年删除

所有我的项目突然开始给出相同的错误消息。

Android Studio对我的杀毒软件发出警告。我尝试进行配置,但没有起作用。

最后,我从系统中卸载了QuickHeal杀毒软件,现在一切都好了。


2
在可绘制的资产中,有一种不支持的图像格式。当我删除了这个图像后,一切都开始正常工作了。

2
在使用 buildToolsVersion '22.0.1' 的 Android Studio 1.4 中,fvasquezc23的方法 经过重启和缓存失效处理,对我有效。
因此,在更改项目文件夹位置后——将文件夹复制 / 粘贴到 D 盘(或其他没有大量“文件夹中文件夹”结构的位置),只需:
  • 进入“文件” -> “无效缓存 / 重启”(在“同步”下)
  • 选择第一个选项“无效并重启”

1
在项目级别的gradle中更新您的gradle构建工具,并且它将向您显示导致错误的确切资源。

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