背景

终于第一个ios app发布应用商店送审了,这下也有时间把以前写的android更新一版,但是很久没遇到的as假死机问题又各种折腾了一天..最终解决的方法实在是让人忍无可忍,实在是想写下来给那些肯定也有相同遭遇的朋友提个醒。

网上这方面的记录都集中在1.0-1.2较老的版本,我用的1.5,你完全可以用排除法试试以下我曾经遇到过的原因。

建议5-升级你的电脑

之前我用的win7 32bit,内存只有2g,实际上内存有4g,所以系统升级到64bit扩大内存很有必要,实测确实编译的时候快些。

而且这样你基本上不会遇到-xmsmax=1024的问题,如果遇上了,请自行搜索配置

不要看着你的8G内存笑话我,刚开始做app开发,没收入--!

建议4-备份你的项目

在瞎猫碰耗子的过程中我的项目最后实际上变得完全无法被编译,一个问题接一个问题的从event-log中崩出来,最后不得不用以前的备份重新小心翼翼的测试..

建议3-升级到最新版本

1.在写这篇文章的时候2.0preview已经出来了,我建议下载稳定版本,比如当前是1.5。

2.而sdk也推荐将build-tool和platform也保持升级到最新。我在下载了23版本之后遇到过“png-cruncher-X编译失败...”报错导致卡死,按照网上给出的方法将23版本的build-tool和platform完全删除了,据说是因为as还不够稳定,最新的sdk支持力度不够。但实际上我采用最后给出的办法后并没有再遇到这个问题。

建议2-设置Gradle

网上给出的很多认为假死机的原因是gradle需要FQ下载,因为网络原因造成了as假死,那么解决方法有2种

1.FQ

2.设置gradle home目录,直接使用本地gradle,off-line打勾可以选上,如果不行event log里面会提示你取消off-line

gradle home的目录,是1.5自带的gradle,已经到2.8了,如果你用以前的比如2.4等版本,你也可以去下载一个gradle版本然后解压指定目录。

在使用本地gradle的时候不要忘了在项目里面选择对应的gradle plugin版本,如果不知道是什么最简单的方式是新建一个项目,然后照着改。

建议你把项目的gradle version改到最新,实际上并不影响编译。

3.关于gradle build就卡死在那半个小时的朋友,请读下一条。

建议1-关掉你的杀毒软件!

关掉你的杀毒软件!关掉你的杀毒软件!关掉你的杀毒软件!重要的事情说三遍!

好吧,其实在遇到"PNG-CRUCH_X 编译出错..."提示的时候,已经遇到过as提示是否杀毒软件block it,在网上也看到过类似提示,但就是不信邪没有关掉。但折腾了1天并且最后把各种之前认为会导致卡死的原因都默认之后确实对我而言问题就是出在杀毒软件上!

你可以用下面2种方法确认,同样如果我的5条建议都不适用于你,也不失作为一种思路。

1.AS的编译日志

在菜单-help-show log in explorer 。

我看了,不过gradle build开始卡死之后根据时间戳,没有记录...

除非你又忍受半个小时的煎熬...

2.打开任务管理器-性能-资源监视器(如下图)

之前我一直怀疑假死机是因为内存不够的原因,因为网上太多炫耀8G内存的大神了....

所以本想资源监视器里面看看卡死的时候内存消耗,但无意中看到”关联的模块“里面出现了某杀毒软件...

实在匪夷所思而且居然是U盘查杀模块...

就是在这时候有一种醍醐灌顶,电闪雷鸣的感觉...

好吧,杀毒软件一关,问题解决...

·2016-4-13日更新

自从这篇文章发布之后,群里来了几位朋友都反应自己的电脑仍然卡死机,仔细询问后都是因为没有关闭360安全卫士的缘故。这里还是提醒下遇到同样问题的朋友,请照着这个列表一一排除问题。希望我花了2天时间解决的这个问题能帮上更多的人呢。

自己在做独立开发,希望广结英豪,尤其是像我一样脑子短路不用react硬拼anroid、ios原生想干点什么的朋友。

App独立开发群533838427

微信公众号『懒文』-->lanwenapp<--

解决Android-studio假死机建议的更多相关文章

  1. 解决 Android Studio 乱码问题

    http://www.eoeandroid.com/thread-275485-1-1.html 很多同学都安装了Android Studio,但是发现中文是乱码,其实这个很好解决的.在IDE里点击F ...

  2. 解决Android Studio编译后安装apk报错:Error while Installing APK

    刚开始玩 Android ,用Android studio  连接真机做测试,在虚拟机上没有问题,但是真机就会报错 检查了好多地方,最终发现了问题,网上的常规就不介绍了,大家自己去看别的帖子 手机方面 ...

  3. Android Studio软件技术基础 —Android项目描述---1-类的概念-android studio 组件属性-+标志-Android Studio 连接真机不识别其他途径

    学习android对我来说,就是兴趣,所以我以自己的兴趣写出的文章,希望各位多多支持!多多点赞,评论讨论加关注. 最近有点忙碌,对于我来说,学习Android开发,是对于我的考验,最近一位大佬发给我一 ...

  4. 解决Android Studio Gradle Build特别慢的问题

    解决Android Studio Gradle Build 特别慢的问题 C:\Users\你的用户名\.gradle目录下新建一个文件名为gradle.properties的文件.内容为:org.g ...

  5. 解决Android Studio 3.0导入module依赖后unable to merge index

    解决Android Studio 3.0导入module依赖后unable to merge index 项目需要使用im, 在项目里导入了腾讯im的几个module依赖, 项目无法编译, 报错una ...

  6. 解决Android Studio Conflict with dependency 'com.android.support:support-annotations'报错

    解决Android Studio Conflict with dependency 'com.android.support:support-annotations'报错 在Android Studi ...

  7. 解决android studio引用远程仓库下载慢(转)

    解决android studio引用远程仓库下载慢(JCenter下载慢) 第一种方法 使用开源中国的maven库 阿里云的(速度飞快):http://maven.aliyun.com/nexus/c ...

  8. 解决Android Studio运行时报Error:java.lang.NullPointerException (no error message)错误

    原文:解决Android Studio运行时报Error:java.lang.NullPointerException (no error message)错误                    ...

  9. 解决android studio 创建新项目后假死

    概况:升级sdk编译api后,创建新的android项目后,在构建过程中假死:原有创建的项目 均运行正常:但是新建的项目只要build,电脑除了鼠标之外的,什么都动不了. 通过一系列的折腾,并重启了N ...

随机推荐

  1. VC孙鑫老师第八课:你能捉到我吗?

    第一步,首先在对话框窗口上放上两个一模一样的按钮控件 第二步,由于是按钮响应鼠标移动上去的事件,因此需要重新派生按钮类: 第三步,在窗口类中声明并使用自定义按钮对象(记得在窗口类中包含自定义按钮类的头 ...

  2. 深入理解Spring系列之四:BeanDefinition装载前奏曲

    转载 https://mp.weixin.qq.com/s?__biz=MzI0NjUxNTY5Nw==&mid=2247483835&idx=1&sn=276911368d4 ...

  3. 安装JDK环境变量的配置

    设置环境变量 在java中需要设置三个环境变量(1.5之后不用再设置classpath了,但是个人强烈建议继续设置以保证向下兼容问题) JDK安装完成之后我们用来设置环境变量:右击”我的电脑“,选择” ...

  4. 使用maven打包项目遇到错误: http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException

    今天在使用maven打包项目时遇到一个错误: [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin ...

  5. linux常用函数简单介绍

    mmap函数简介: mmap函数是unix/linux下的系统调用,来看<Unix Netword programming>卷二12.2节对mmap的介绍: The mmap functi ...

  6. Freemaker如何遍历key为non-string类型的map?

    (一) 前置知识 Freemaker默认配置下会使用SimpleHash去包装后台传递的hashmap,下段摘抄自官方reference 同样,当你传递进去一个hashmap实例时,会替换为一个sim ...

  7. Eloqument 学习

    参考地址:https://d.laravel-china.org/docs/5.5/eloquent#mass-assignment

  8. jQuery对的表单数据序列化和校验

    jQuery对的表单数据序列化和校验 表单序列化 如果想让表单通过ajax异步提交,那么首先我们要通过js获取到每个表单中输入的值,如果表单项比较多的话,是一件很麻烦,很痛苦的事情,那么我们可以通过j ...

  9. 常见的 JavaScript 内存泄露

    什么是内存泄露 指由于疏忽或错误造成程序未能释放已经不再使用的内存.内存泄漏并非指内存在物理上的消失, 而是应用程序分配某段内存后,由于设计错误,导致在释放该段内存之前就失去了对该段内存的控制,从而造 ...

  10. 查找内容grep命令

    标准unix/linux下的grep通过以下参数控制上下文 grep -C 5 foo file 显示file文件中匹配foo字串那行以及上下5行 grep -B 5 foo file 显示foo及前 ...