Android(安卓)Studio中mergeDebugResources时报“png-cruncher_*”异常死机的解决方案
16lz
2021-01-26
折腾了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,换成稳定版
本人尝试了上述方法均无效,你们可以试试看是否有效。
最终解决方案
由于这个问题还原起来非常简单,但每次都会卡死半小时,所以经过无数次强制关机,等待折腾后发现关闭杀毒软件后可以了,于是发现:
但是又不能每次都关闭杀毒软件,所以添加下信任即可解决问题。
添加后发现构建再也不卡死了:
另外说明下,本人折腾过1.2和1.5版本均有上述问题,按上述方法都可以解决。
2016年4月3日:
追加,如果还是卡死,建议退出杀毒软件
声明
原创文章,欢迎转载,请保留出处。有任何错误、疑问或者建议,欢迎指出。我的邮箱:Maxwell_nc@163.com
更多相关文章
- 理解Android的handler机制--从应用到原理再到实践
- Android面试题目之常见的选择题
- Android开发:Handler异步通信机制全面解析(包含Looper、Message Qu
- Effective Java读书笔记、感悟——1.创建和销毁对象
- 关于TextView的android:ellipsize="end"属性无效的挣扎
- 如何检测 Android(安卓)Cursor 泄漏
- FastJson的基本使用
- 你真的懂Android(安卓)Handler吗?(一)
- Android9.0应用弹窗“此应用专为旧版Android打造,因此可能无法正