Genymotion是開發Android應用程式時經常使用的跨平台Android模擬器,其運行Android的效能要比Android官方的模擬器(AVD)還要好,而且支援更多的功能。然而,有時候Android的ADB會因不明原因而無法連結到Genymotion的虛擬機,而導致Android的APK無法順利安裝進去,就連Logcat也無法使用。
如下圖,明明Genymotion模擬器就有順利運行,但ADB就是無法偵測到它。
此時可以先到Genymotion的設定視窗中確認一下ADB是否是使用Android SDK提供的,而不是Genymotion自帶的。
在將Genymotion所使用的ADB修改成Android SDK所提供ADB之後,重新執行模擬器,再查看一次ADB是否能抓到它了。如果還是不行的話,就要去執行Genymotion提供的CLI工具,檔名為genyshell
。在genyshell
所提供的簡易Shell中,執行以下指令來查看所有模擬器的狀態:
devices list
如上圖,我們可以看到目前執行中的模擬器所被發配的IPv4位址,利用這個IP位址就可以手動讓ADB連線到它。ADB手動連線到裝置的指令用法如下:
adb connect IP:port
Genymotion預設的連接埠為5555
,從上圖可以看出筆者要連結的裝置IP為192.168.58.101
,因此在終端機執行以下指令:
adb connect 192.168.58.101:5555
如此一來ADB就與Genymotion模擬器成功連線了!