出现这个错误的原因是一般有以下几种情况:
一、构建Gradle的时候,Gradle会去检查一下是否修改过文件的后缀名。一般大多数是出现在图片上,.jpg修改成了.png就会出现这个问题(在第三章3.2.4节出现)。
Log:
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:mergeDebugResources'.
> Error: java.lang.RuntimeException: Crunching Cruncher ic_default_home_new.png failed, see logs
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
如果是这个问题导致的,可以在build.gradle文件里添加以下代码,然后点击右上角的sync now同步一下即可。
这个的意思是关掉AndroidStudio对PNG图片的合法性检验。
aaptOptions {
cruncherEnabled = false
useNewCruncher = false
}
解决方法如下:
android {
2 compileSdkVersion 23
3 buildToolsVersion "23.0.3"
4
5 aaptOptions {
6 cruncherEnabled = false
7 useNewCruncher = false
8
9 }
10 defaultConfig {
11 applicationId "com.xxx.xxx"
12 minSdkVersion 15
13 targetSdkVersion 22
14 versionCode 2
15 versionName "1.0.2"
16 ndk {
17 //设置支持的SO库架构
18 abiFilters 'armeabi', 'x86', 'armeabi-v7a', 'x86_64', 'arm64-v8a'
19 }
20 }
21 }
如下图,在app/src/buil.gradle文件中进行
二、.9patch图片也可能出现这个问题。原因是AndroidStudio对图片的审核非常严格,在ECLIPSE上没有问题, 到了AS上就通过不了。所以此问题多见于Eclipse项目导入AndroidStudio时。
另外有一点要注意一下,点9图片必须放在drawable文件夹下,不能放在mipmap文件夹下。
如果是因为.9图片导致的,构建工程时在错误日志里可能会有相关的提示,告诉你可能出问题的.9图片的位置,此时你只要双击提示的文本,即可自动打开有问题的.9图片。在AndroidStudio中可以直接编辑点9图片,此是其强大的一个缩影而已。大概错误如下截图: