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'])
就我而言,当我更改软件包名称时出现了这个问题,我只是按照下面的步骤来解决我的问题:
-
删除以前安装的apk(卸载)
-
应用项目干净
-
运行应用程序
不得不从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