2010-12-11 140 views
12

雖然我確信這應該是可能的,但似乎無法找到以下信息: 我在機器上運行Android模擬器A.我正在開發另一臺機器B,我在其中使用Eclipse。將Eclipse連接到另一臺機器上的Android模擬器

現在,當我切換到Eclipse中的DDMS透視圖時,我想讓機器A的模擬器顯示在設備選項卡中。

原因是,模擬器很慢,看起來像在不同的機器上運行開發和模擬器可能是一個解決方案。

由於模擬器運行在一個特定的端口,我很確定我只需要弄清楚如何告訴eclipse在哪裏尋找模擬器。

感謝您的任何提示

回答

1

您可以告訴adb連接到偵聽IP地址和TCP端口的設備。那個設備應該會在eclipse中出現。所以調試機很容易。

模擬器機器可能更難。仿真器正在偵聽本地端口上的TCP連接。 IIRC已經確定沒有命令行開關讓它在外部接口上偵聽,但仔細檢查。所以你可能需要修改和重新編譯模擬器,或者在主機上使用某種端口轉發器。 ssh可能會爲你處理,雖然我確定有其他工具沒有加密開銷,如果不需要的話。

+0

感謝您的詳細信息! – pgruetter 2011-02-26 07:33:39

1

Eclipse不直接附加到仿真器。

adb後臺進程控制與仿真器(以及真實設備)的通信。 Adb在TCP端口5037上偵聽傳入的命令。

我還沒有試過你的方案,但這應該讓你開始。

+0

好的,謝謝你的信息!也許有一種方法來改變adb,所以它也檢查某些其他主機的模擬器。或者我可以完全改變adb,所以adb本身可以在另一臺主機上運行。 – pgruetter 2010-12-12 21:24:36

+0

這就是我認爲的 – mibollma 2010-12-12 22:19:11

2

與此同時,我找到了一個非常好的解決方案。我在虛擬機中安裝了android-x86(http://www.android-x86.org)。 在主機上,你再使用如下命令重啓亞行並連接到虛擬機:

adb kill-server 
adb connect <VM-IP>:5555 

更換VM-IP與虛擬機的實際IP。如果您在專用網絡上,最簡單的方法是將vm網絡配置爲橋接,以便VM從dhcp服務器獲取自己的IP地址。儘管如here所述,還應該與主機專用網絡一起工作。

如果一切順利,您應該在Eclipse調試器中看到Android VM,就像正常的模擬器一樣。

+0

其實,第一個命令kill-server是不必要的,你可以直接連接到一個新的設備,從控制檯調用adb。 – pgruetter 2011-03-31 18:20:26

+0

爲了找出vm的IP地址,請記住,您可以使用Ctrl + 2切換到控制檯以使用ifconfig查找您的IP地址,然後使用Ctrl + 7切換回「android os」。 – pgruetter 2011-03-31 18:21:55

1

我做了以下步驟。我的機器上5557:

  • 啓動亞行與連接remote_machine_IP

    1. 遠程機器
    2. 啓動遠程機器上的端口轉發應用程序(:5557爲localhost 5555轉發TCP)上啓動模擬器
    3. 開始日食

    Eclipse會找到adb並列出設備。

  • +0

    你能否更清楚地解釋第2步。你用什麼應用程序轉發端口? – xmen 2014-11-03 02:46:16

    1

    按照以下步驟來連接你的虛擬機的Eclipse IDE:從你的VM

    首先運行ICS,開闢Android的命令提示符。 (導航到應用程序和運行終端仿真器)

    類型「netcfg中」在終端找出IP您的虛擬機的

    然後去在cmd(Windows命令提示符)並移動到「平臺工具」文件夾在你的Android安裝路徑(在我的情況CD C:\ Android的SDK-WINDOWS \平臺工具

    然後輸入 「亞行連接您的IP」 命令(ADB 連接190.156.10.122

    現在你可以在vm中調試你的android應用程序而無痛苦。嘗試thisthis

    1

    經過這樣的努力之後,我發現這個視頻解釋瞭如何在虛擬機中運行我的開發環境時在我的mac上運行模擬器。 http://youtu.be/CacpPleWsZM

    +0

    這段視頻非常詳細,一步步引導。感謝分享這個 – MichaelP 2013-09-08 09:06:41

    相關問題