Android Studio – mergeDebugResourcesexception

我最近更新了Android Studio到它的最新版本,现在我遇到了一个Gradle构buildexception的头痛。

每次我运行该项目,两三次之前成功,我得到以下错误:

Gradle: Execution failed for task ': ProjectName: mergeDebugResources'. Java.lang.NullPointerException (no error message) 

再次尝试几次后,错误不会再发生,直到下一次运行。

有没有人知道为什么会发生这种情况? 该项目工作得很好直到更新,从来没有得到任何错误之前…

谢谢!

我find了解决问题的办法。

有一个关于gradle生成问题的报告,这是不一样的,但是解决scheme似乎也解决了mergeResourceDebug问题。 (问题https://code.google.com/p/android/issues/detail?id=56158 )。 在评论中说,解决scheme在Gradle 0.4.3中解决。

要使用Gradle 0.4.3,需要手动更新build.gradle文件。 (更新Android Studio不会更改构build文件)

这是我改变了在build.gradle:

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

由于改变这个,我运行我的项目时没有看到更多的mergeDebugResource问题。 希望这可以帮助!

编辑:与Gradle保持同步,您可以将版本号更改为0.4。+

这只发生在修改项目上的XML文件时。 如果在运行之前重build整个项目(“生成”>“重build项目”),则不会再显示。

在您的项目目录中,运行:

 ./gradlew clean build 

或从Android Studio中select:

 Build > Clean Project 

更新:正如@VinceFior在下面的评论中指出的那样

您的drawables目录中可能有损坏的.9.png

如果生成的构build文件path超过255个字符的Windows最大path长度,也会发生此错误。 确保你的项目path不太长,使用短名称。

可拖拽到src / main / res / drawables文件夹中,也必须放到src / main文件夹中。

这对我有用..

在我的情况下,以上都没有工作,我只是重命名项目名称,一切正常。

例:

我的项目名称之前sticky-headers-recyclerview-master

我的项目名称SHRV

希望这会帮助你。

我的问题解决了这个问题

 compile fileTree(dir: 'libs', include: ['*.jar']) 

 provided fileTree(dir: 'libs', include: ['*.jar']) 

就我而言,当我更改软件包名称时出现了这个问题,我只是按照下面的步骤来解决我的问题:

  1. 删除以前安装的apk(卸载)

  2. 应用项目干净

  3. 运行应用程序

不得不从build.gradle一些旧版本的项目模块中更改构build工具版本:

 android { ... buildToolsVersion "24.0.2" ... } 

如果资源文件夹中有任何其他文件夹/文件不受Android支持,也会发生这种情况。

有一个叫做“cleanBuildCache”的新的Gradle任务,只要运行这个任务清理caching,然后重新构build项目。

在我的情况下,我只是从项目文件夹名称从MyApp最新删除空间

到:MyApp_latest

它的工作。

我有同样的问题,并设法解决,它只是降级你的gradle版本是这样的:

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

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

例如:

YOUR_GRADLE_VERSION = 3.0.0

OLDER_GRADLE_VERSION_THAT_YOUR = 2.3.2