更新(2014年10月11日):Genymotion已发布2.3.1修复此问题。 https://cloud.genymotion.com/page/changelog/#231
更新(2014年10月21日):Genymotion回复了我的支持电子邮件,并指出@plackemacher推荐的解决方案是目前建议的解决方案。他们意识到了这个问题。
自从升级到Lollipop后,我在使用Genymotion模拟器时遇到了adb问题。设备未显示在Android Studio中,我在尝试运行adb devices
时也遇到以下错误:
$ adb devices
adb server is out of date. killing...
cannot bind 'tcp:5037'
ADB server didn't ACK
* failed to start daemon *
error:
我不确定是不是因为Lollipop升级或巧合。
修改/更新:
根据Chris Satton的评论,我调查了多个adb进程是否正在运行(ps aux | grep adb
),看起来它是一个Genymotion冲突(?)。它看起来包含自己的adb版本。
greg 72550 0.0 0.0 611164 1508 ??下午4:14
0:00.02 /Applications/Genymotion.app/Contents/MacOS/player.app/Contents/MacOS/tools/adb -s 192.168.56.102:5555 shellgreg 72523 0.0 0.0 635956 2296 ?? S 4:14 PM 0:00.02 adb -P 5037 fork-server server
答案 0 :(得分:241)
尝试运行:
killall -9 adb
这应该删除守护程序的所有运行痕迹
编辑:以下最佳解决方案
此问题可能与adb
与最新版本的平台SDK不兼容。 Genymotion针对此问题的最佳解决方案是将Genymotion中的Android SDK设置为您的位置。这可以在“设置”页面中找到。
答案 1 :(得分:3)
在我的情况下,问题是我使用此命令安装了adb工具和fastboot
sudo apt-get install android-tools-adb android-tools-fastboot
从存储库,所以在这种情况下,此可执行文件将转到/usr/bin/
目录,以便您可以在系统范围内使用它($PATH
变量)。
此外,我正在使用genymotion运行android studio,如上面的答案所示。
所以,当我尝试访问adb(在我的情况下为adb shell
)时,它试图启动adb进程(服务器)的另一个副本并绑定到默认端口,所以问题出在这里。
我刚刚卸载了android-tools-adb android-tools-fastboot
,并将Android SDK
的路径添加到$PATH
变量
答案 2 :(得分:2)
在ubuntu上使用genymotion。
我的解决方案是实际使用二进制而不是PATH' d adb。
~/genymotion/tools/abd reboot
此外,我在genymotion中有自定义SDK。
答案 3 :(得分:0)
最终对我有用的以及我认为无任何问题的是您只需直接从platform-tools
文件夹运行adb命令。例如,使用./adb devices
查看设备。
我还将genymotion的SDK更改为android的默认SDK,但我不确定如果不这样做它是否会起作用。
答案 4 :(得分:0)
我认为,如果您想使用 adb ,最好使用Android工作室模拟器并测试您想要的内容,之后您可以使用Genymotion
答案 5 :(得分:-2)
没有一个解决方案对Ubuntu有帮助。 只需将.apk文件拖到Genymotion设备的屏幕上即可安装。
Ubuntu 15.04,Genymotion 2.5.2
答案 6 :(得分:-2)
将Android SDK添加到Sub LispCommand(cmd as String)
doc.SendStringToExecute(cmd, False, False, True)
End Sub
变量。
答案 7 :(得分:-2)
我刚在Android / Sdk / platform-tools /
上使用./adb reboot答案 8 :(得分:-2)
接受的答案对我来说不起作用,虽然这个想法确实存在,只是用不同的命令:
pkill adb
我正在运行ubuntu MATE 1.8.2和Genymotion 2.6。