如何在mac上使用adb和genymotion?

use*_*842 4 macos android cordova genymotion

我在Mac OS X 10.9.4上使用cordova为Android构建应用程序.

我正在使用genymotion来创建虚拟设备.

昨天我能够获得'cordova run android'来让我的应用程序在genymotion虚拟设备上运行.

今天,我想我重复了昨天采取的步骤,但我无法让它发挥作用.

我启动了adb服务器(genymotion没有运行)

adb start-server
Run Code Online (Sandbox Code Playgroud)

adb服务器启动正常:

* daemon not running. starting it now on port 5037 *
* daemon started successfully *
Run Code Online (Sandbox Code Playgroud)

我可以看到它在那里

lsof -i tcp:5037
adb     19131 bw    7u  IPv4 0x3c0bc54e449e35f5      0t0  TCP localhost:5037 (LISTEN)
Run Code Online (Sandbox Code Playgroud)

没有附加设备

adb devices
Run Code Online (Sandbox Code Playgroud)

到现在为止还挺好

现在,当我启动genymotion并启动虚拟设备时,我的adb似乎已经被杀死并且无法启动,因为虚拟设备显然已将其杀死并启动了自己的adb实例

unknown-6c-40-08-9b-25-2c:todo bw$ adb devices
adb server is out of date.  killing...
cannot bind 'tcp:5037'
ADB server didn't ACK
* failed to start daemon *
error: 
Run Code Online (Sandbox Code Playgroud)

现在,这使我无法将设备添加到adb,以便我可以通过执行来访问它

cordova run android
Run Code Online (Sandbox Code Playgroud)

此命令现在失败,因为它找不到正在运行的设备.

我尝试以root身份运行adb start-server,因此genymotion无法杀死它,但是genymotion虚拟设备无法启动.

是什么赋予了?感谢任何想法..谢谢!

use*_*842 11

嗯,这并不完全令人满意,但我已经开始工作了.

当我在settings-> adb选项卡下更改genymotion中的设置以引用我的android sdk而不是内置的genymotion android工具时,一切正常.这很好,但是在我改变那个设置之前,我不明白昨天它是如何工作的.那好吧.希望这会对某人有所帮助.

在此输入图像描述