Genymotion是開發Android應用程式時經常使用的跨平台Android模擬器,其運行Android的效能要比Android官方的模擬器(AVD)還要好,而且支援更多的功能。然而,有時候Android的ADB會因不明原因而無法連結到Genymotion的虛擬機,而導致Android的APK無法順利安裝進去,就連Logcat也無法使用。



如下圖,明明Genymotion模擬器就有順利運行,但ADB就是無法偵測到它。

genymotion-adb

此時可以先到Genymotion的設定視窗中確認一下ADB是否是使用Android SDK提供的,而不是Genymotion自帶的。

genymotion-adb

在將Genymotion所使用的ADB修改成Android SDK所提供ADB之後,重新執行模擬器,再查看一次ADB是否能抓到它了。如果還是不行的話,就要去執行Genymotion提供的CLI工具,檔名為genyshell。在genyshell所提供的簡易Shell中,執行以下指令來查看所有模擬器的狀態:

devices list

genymotion-adb

如上圖,我們可以看到目前執行中的模擬器所被發配的IPv4位址,利用這個IP位址就可以手動讓ADB連線到它。ADB手動連線到裝置的指令用法如下:

adb connect IP:port

Genymotion預設的連接埠為5555,從上圖可以看出筆者要連結的裝置IP為192.168.58.101,因此在終端機執行以下指令:

adb connect 192.168.58.101:5555

genymotion-adb

如此一來ADB就與Genymotion模擬器成功連線了!

genymotion-adb