55

我最近将 Android Studio 更新到了最新版本,现在我在 Gradle 构建中遇到了一个异常问题。

每次我运行该项目,在它成功之前两到三遍,我都会收到以下错误:

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

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

有人知道为什么会这样吗?该项目运行良好,直到更新,之前从未出现任何错误......

谢谢!

4

15 回答 15

52

只有在修改项目中的 XML 文件时才会发生这种情况。如果您在运行之前重建整个项目(Build > Rebuild Project),它将不再显示。

于 2013-06-18T20:51:59.527 回答
32

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

./gradlew clean build

或从 Android Studio 中选择:

Build > Clean Project

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

于 2013-07-02T15:18:27.790 回答
19

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

于 2016-12-29T12:51:22.093 回答
16

如果生成的构建文件路径超过 Windows 最大路径长度 255 个字符,也可能发生此错误。确保您的项目路径不会太长,同时使用短名称。

于 2013-09-08T07:56:25.873 回答
12

我找到了解决问题的方法。

有一个关于 gradle build 问题的问题报告,它不一样,但解决方案似乎也解决了 mergeResourceDebug 问题。(在这里发布https://code.google.com/p/android/issues/detail?id=56158)。在评论中指出该解决方案已在 Gradle 0.4.3 中解决。

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

这是我在 build.gradle 中所做的更改:

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

自从更改此设置后,我在运行项目时再也没有看到任何 mergeDebugResource 问题。希望这可以帮助!

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

于 2013-07-05T08:59:43.657 回答
1

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

于 2016-10-04T07:25:39.327 回答
1

我遇到了同样的问题并设法解决了,它只是像这样降级你的 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

于 2017-11-15T00:24:46.470 回答
0

就我而言,以上都不起作用,我刚刚重命名了项目名称,一切正常。

例子:

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

我的项目名称After - SHRV

希望这会帮助你。

于 2016-01-21T05:21:10.340 回答
0

我的问题解决了这个

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

provided fileTree(dir: 'libs', include: ['*.jar'])
于 2016-04-15T14:46:15.067 回答
0

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

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

  2. 应用项目清洁

  3. 运行应用程序

于 2016-06-06T07:03:09.417 回答
0

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

android {
    ...
    buildToolsVersion "24.0.2"
    ...
}
于 2016-09-05T07:09:47.500 回答
0

有一个名为“cleanBuildCache”的新 Gradle 任务只需运行此任务清理缓存然后重新构建项目。

于 2017-04-27T08:34:40.133 回答
0

就我而言,我刚刚从项目文件夹名称中删除了空间来自:MyApp latest

收件人:MyApp_latest

它奏效了。

于 2017-06-21T12:58:43.247 回答
0

我刚刚升级到最新的 gradle 构建工具版本,它可以工作。

 classpath 'com.android.tools.build:gradle:3.0.1
于 2018-02-08T09:47:58.960 回答
0

它可能是可绘制文件的错误名称。我有一张我正在使用的名为Untitled. 改名解决了我的问题。

于 2019-01-06T14:34:30.737 回答