最近从Eclipse转到Android Studio后,发现了不少的问题,其中一个让人头疼的问题是不能用AS来Debug,这一点是无法让我接受的。趁着周末有空就研究一下这个问题。

调试用的手机是小米3电信/联通版,AS版本是1.3.2 build 141.2178183,具体的问题如下:

QQ20150927213926

AS中点击Debug选择设备后就卡在了这里:Waiting for process:

相应的,手机上则卡在了这个界面:

Screenshot_com.example.luci.myapplication_2015-09-27-21-40-39

只是偶尔一两次可以进行Debug,如果点击Run则一点问题都没有。Oh no!

起初怀疑是手机问题,但是很快就被我否定了,因为之前用Eclipse调试的时候没出现过这种问题,而且手机插在别的有AS的电脑上也没出现这种问题。

于是怀疑是电脑问题,为此我特意准备了一个虚拟机,安装同样的操作系统,用同样的软件搭建同样的编程环境,却发现在虚拟机中一切正常,能正常调试!看来是电脑的问题了

然后开始怀疑驱动,由于之前用的是刷机精灵的驱动,于是我把驱动删了,换上了国外的某个软件下载的驱动,尝试后发现不行。删除驱动后我下载了我最反感的360,让这货给我装驱动。结果这个360驱动居然也不行。。。

百思不得其解后,百度找了下,找到一篇帖子提到了这个问题。按照帖子里讲的,禁用MDB设备,结果无效。。。到此我心想,换台手机试试呢?于是我找出了N年前的一台2.3.5系统的手机插上去后居然能正常调试,非常好使,至此我开始迷糊了。。。

在Goodle上找了一会儿,就找到一个StackOverflow上说项目的设置问题,把android:debug去掉即可。但是我在我的项目中压根就没看见有过这个属性,所以排除之。

结束语:折腾了一天结果还是没搞明白到底是什么原因,我也不想上论坛发帖子去问,因为这种帖子一发就铁定石沉大海了,就算有人回复那也是以灌水回复捞积分的居多。说句实话,百度知道上面真正懂技术的人是少之又少,大部分问题的回答都是牛头不对马嘴,完全不看问题问的是什么就在那边乱回答,参考意义实在是不大

操作环境:Win8.1企业版+VMWare WorkStation 12 Pro

电脑系统重装后,神马驱动都没了,包括adb的。现在做开发需要安装adb驱动,但是又不想在自己的电脑上安装那些360手机助手等等奇葩流氓软件,于是在虚拟机里面操作安装了adb驱动(死也是死个虚拟机而已)。问题来了,如何把这个驱动从虚拟机里面捞出来呢?现在知道的是驱动肯定在Windows文件夹中,为了方便,直接把Windows文件夹捞出来

尝试1:VMWare 有映射虚拟磁盘的功能,能轻松的把虚拟磁盘映射到主机中。

QQ20150927100732

但是!这有个问题。。。虽然磁盘映射成功了,在Windows资源管理器中能看见这个盘,但在Windows磁盘管理中却看不见这个盘;同理更新驱动的时候都提示位置不存在:

QQ20150927101109

QQ20150927101309

坑爹啊!

那么既然Windows资源管理器里面能看见它,就直接复制出来吧!

提示要提供权限

QQ20150927101513

然后,奇怪的一幕再次发生:

QQ20150927101618

MD居然说位置不可用!微软这是傻逼了吗???

右键修改文件夹属性:

QQ20150927101954

权限也改不了,真是哔了狗了。。。

换个思路:右键以管理员身份运行VMWare,这个主意看上去不错

QQ20150927102300

点击确定后,弹了一个对话框(大概是讲什么快照啊什么问题),再点了下确定

QQ20150927102444

还是位置不可用!这回在windows资源管理器里面都看不见了!

到此为止,这条路走不通。。。

尝试2:以前玩过M$的vhd,这种类型的盘挂载后能在Windows资源管理器里面显示,磁盘管理里面也能处理。google了一下找到这么个软件

QQ20150927102755

能把vmdk转成vhd。。。(不得不赞叹现在的软件真强大)

QQ20150927102929

双击转换完成后的vhd文件直接挂载,这次挂载在H盘

然后更新驱动程序:

QQ20150927103108

成功读取到了!

写到这里,基本上是实现我的想法了。虽然最后还是驱动安装失败,至少是发现了VMware的这个缺点,以后能少走弯路。。。