我最近将Android Studio更新为它的最新版本,现在我在Gradle构建中遇到异常问题。
每次运行项目时,在成功之前两到三次,我都会收到以下错误:
Gradle: Execution failed for task ': ProjectName:
mergeDebugResources'.
Java.lang.NullPointerException (no error message)
再次尝试几次后,错误不会再次发生,直到下一次运行。
有人知道为什么会这样吗?该项目工作得很好,直到更新,从未出现任何错误......
谢谢!
答案 0 :(得分:52)
只有在修改项目中的XML文件时才会发生这种情况。如果在运行之前重建整个项目(Build> Rebuild Project),它将不再显示。
答案 1 :(得分:30)
在项目目录中,运行:
./gradlew clean build
或从Android Studio选择:
Build > Clean Project
更新:正如@VinceFior在下面的评论中指出的那样
答案 2 :(得分:18)
您的drawables目录中可能包含损坏的.9.png
答案 3 :(得分:16)
如果生成的构建文件路径超过255个字符的窗口最大路径长度,也会发生此错误。确保您的项目路径不会太长,也可以使用短名称。
答案 4 :(得分:12)
我找到了问题的解决方案。
报告有关gradle构建问题的问题,它不一样,但解决方案似乎也解决了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。+
答案 5 :(得分:1)
如果资源文件夹中有/不存在任何Android不支持的文件夹/文件,也会发生这种情况。
答案 6 :(得分: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
答案 7 :(得分:0)
在我的情况下,以上都没有,我只是重命名项目名称,一切正常。
示例:强>
我的项目名称之前 - sticky-headers-recyclerview-master
我的项目名称之后 - SHRV
希望这会对你有所帮助。
答案 8 :(得分:0)
My problem solve this one
compile fileTree(dir: 'libs', include: ['*.jar'])
to
provided fileTree(dir: 'libs', include: ['*.jar'])
答案 9 :(得分:0)
在我的情况下,当我更改包名称时出现此问题,我只是按照以下步骤来解决我的问题:
删除以前安装的apk(卸载)
应用项目清理
运行应用
答案 10 :(得分:0)
必须在项目模块的build.gradle
中更改旧版本的构建工具版本:
android {
...
buildToolsVersion "24.0.2"
...
}
答案 11 :(得分:0)
有一个名为" cleanBuildCache"的新Gradle任务。只需运行此任务清理缓存,然后重新构建项目。
答案 12 :(得分:0)
在我的情况下,我刚从项目文件夹名称中删除了空格 从: MyApp最新
要: MyApp_latest
并且有效。
答案 13 :(得分:0)
我刚刚升级到最新的gradle构建工具版本,它可以正常工作。
d[,order(as.numeric(sub("\\D*","",colnames(d))),na.last = F)]
H Gr_1 Gr_2 Gr_3 Gr_4 Gr_5 Gr_6 Gr_7
1 P01050.1 0 1584100 4.2060e+06 0.0000e+00 0 0 0
2 P01080.1 1107200 84847000 2.9108e+08 3.4810e+08 176770000 174870000 138470000
3 P01090.1 17096000 5219500000 1.5496e+10 3.0977e+10 8752700000 6783500000 2386900000
Gr_8 Gr_9 Gr_10 Gr_11 Gr_12 Gr_13 Gr_14 Gr_15
1 0 0 0 1835800 0 2544200 5120400 6623500
2 84046000 82060000 37259000 53909000 19117000 2461400 1373700 0
3 1371600000 567990000 1104800000 623960000 808600000 418770000 117330000 73336000
Gr_16 Gr_17 Gr_18 Gr_19 Gr_20 Gr_21 Gr_22 Gr_23 Gr_24
1 0 13475000 7883300 82339000 205860000 867120000 1144300000 1179000000 1408700000
2 0 0 0 3254700 0 1984400 11342000 4391600 2830100
3 31761000 29387000 27476000 50825000 67685000 226000000 256440000 141230000 328190000
Gr_25 Gr_26 Gr_27 Gr_28 Gr_29 Gr_30 Gr_31 Gr_32
1 757020000 456930000 162310000 71199000 220140000 418310000 214340000 203520000
2 5588500 4694700 12425000 13883000 48225000 248370000 342310000 545960000
3 113360000 78221000 29132000 39425000 22240000 2998900 6181100 17214000
Gr_33 Gr_34 Gr_35 Gr_36 Gr_37 Gr_38 Gr_39 Gr_40 Gr_41
1 353320000 163870000 134430000 159630000 214110000 199410000 73076000 57703000 91657000
2 1048300000 1026300000 773530000 547270000 311250000 118250000 41591000 28495000 11727000
3 31244000 23291000 19527000 12743000 7546600 4917500 2751100 2336400 7568200
答案 14 :(得分:0)
它可能是可绘制文件的错误名称。我有一个正在使用的图像叫做Untitled
。更改名称解决了我的问题。