Android Studio中mergeDebugResources时报“png-cruncher_*”异常死机的解决方案

折腾了Android Studio一段时间,主要不是因为Gradle慢的问题,而是因为会出现各种奇怪的死机,经过无数次重启,跑遍网络StackOverFlow、百度、谷歌,都没有找到合适的方法,经过自己一番研究,终于找到方法了,现在记录一下。

问题说明

首先本文不是优化Gradle配置,什么设置VM大小、开启守护线程、离线模式之类的文章。
本文针对那种不是因为配置问题引起的死机问题,主要表现如下:
新建项目-构建时候卡死,等上半小时左右恢复,发现下面log:

:app:mergeDebugResources
  Exception in thread "png-cruncher_*" java.lang.RuntimeException: Timed out while waiting for slave aapt process, try setting environment variable SLAVE_AAPT_TIMEOUT to a value bigger than 5 seconds

然后发现任务管理器里一堆appt.exe和console.exe进程。

寻找解决方案

遇到这种问题首先都是上网搜索下有什么解决方案,得到的答案无非下面几种:

  • 设置SLAVE_AAPT_TIMEOUT环境变量,提高超时时间为30
  • AAPT是build-tools里的东西,更新或者重新拷贝一份(损坏)
  • 升级android studio,换成稳定版

本人尝试了上述方法均无效,你们可以试试看是否有效。

最终解决方案

由于这个问题还原起来非常简单,但每次都会卡死半小时,所以经过无数次强制关机,等待折腾后发现关闭杀毒软件后可以了,于是发现:

Android Studio中mergeDebugResources时报“png-cruncher_*”异常死机的解决方案_第1张图片

但是又不能每次都关闭杀毒软件,所以添加下信任即可解决问题。

添加后发现构建再也不卡死了:

Android Studio中mergeDebugResources时报“png-cruncher_*”异常死机的解决方案_第2张图片

另外说明下,本人折腾过1.2和1.5版本均有上述问题,按上述方法都可以解决。

2016年4月3日:
追加,如果还是卡死,建议退出杀毒软件

声明

原创文章,欢迎转载,请保留出处。
有任何错误、疑问或者建议,欢迎指出。
我的邮箱:[email protected]

你可能感兴趣的:(android,android,gradle,构建,Studio,死机)