背景
在感受了Genymotion的流畅性之后,我已经决定使用Genymotion来进行Android开发。但是在使用Genymotion打开虚拟机之后,run却找不到虚拟机。
因为这个问题,每次我都要通过关闭Android Studio和Genymotion,连上我的真机,然后启动Android Studio和Genymotion,才能正常使用。
今天,我终于发现了问题的原因所在,居然是因为ADB客户端和服务端的版本不一致。
在命令行下执行 adb get-state 可看到原因。
cyy@cyy-pc:~$ adb get-state
adb server version (36) doesn't match this client (39); killing...
error: could not installsmartsocketlistener: Address already in use
ADB server didn't ACK
* failed to start daemon *
error: cannot connect to daemon
adb server version (36) doesn't match this client (39)的意思就是adb服务器版本不能匹配该客户端。因为Android Studio使用的adb和Genymotion使用的adb版本不一致。
好了,原因找到了。那么解决方法呢?
1、打开Genymotion->Settings->ADB
2、选择Use custom Android SDk tools
3、设置Android SDK的路径
4、关闭,重启Genymotion虚拟机
搞定,在次执行adb get-state
cyy@cyy-pc:~$ adb get-state
device
再run时就能看到虚拟机了o(^_^)o。