構建Android在Windows上的x86模擬器(下)

來源:互聯網
上載者:User

接上篇,在建立好Android x86的模擬器後,預設的螢幕是寬屏的,而且沒有可以旋轉螢幕的操作。為了使螢幕可以顯示成普通手機的豎屏,需要做如下操作:

1.在Windows上進入命令列模式,轉到VirtualBox的安裝目錄下,輸入如下命令:

其中"Android 2.3"是你在VirtualBox中建立虛擬機器時候填入的虛擬機器名字,"CustomVideoMode1"是VBoxManage的保留參數,指明這是一個自訂的參數,當然以後你也可以增加CustomVideoMode2、 CustomVideoMode3直到CustomVideoModeN。最後一個參數就是螢幕的解析度,480x800就是手機豎屏的寬高,16是螢幕顏色位元,一般就是用16,其他的貌似會有問題。480與800之間的乘號就用小寫字母x即可。

2.開啟你的Android虛擬機器,在引導頁的時候,選擇Debug Mode進入:

等待命令台載入完成後,輸入如的命令:

這樣做的目的是進入Android虛擬系統的grub中,用vi工具修改menu.lst檔案。在上述命令斷行符號後,將會看到menu.lst的內容,注意,最上端的title欄位是我後來加的,原本只顯示下面三個title欄位的。按照下面的三個title的格式,自訂一個title欄位(如我的MY HDPI),內容的話,就按照HDPI和MDPI順便抄一個就好,但是注意一定要在kernel這一行的最後,加上一個空格,然後是vga=ask這樣的參數。基本上操作就是普通的Ubuntu上vi的操作,按i可以進入文本編輯模式,然後用游標移動,輸入即可,完成後,按Esc,然後按下:鍵,並輸入wq進行儲存就可以了。

儲存完成後,回到控制台,輸入/system/bin/reboot,啟動整個Android系統,在引導頁,選擇剛剛我們建立的那個MY HDPI選項即可:

按下斷行符號,進入video modes的選擇頁面:

最後那個代號為360的就是我們在VBoxManage裡面設定的自訂顯示模式,輸入360,進入該模式:

在第一次進入虛擬機器系統的時候,你可能發現螢幕還是寬屏的,這是由於VirtualBox有緩衝機制,你只要用滑鼠在視窗的邊緣拖動一下,視窗就可以變成豎屏的了,調整大小,使之適應你的顯示器螢幕:

接下來要來測試虛擬系統的網路是否可用,這關係到adb調試橋能否正常串連到Android x86系統。

在保持系統被啟用的狀態下,按下Alt+F1(按Alt+F7是返回正常的螢幕),進入Android x86的終端控制台,輸入netcfg命令,它會打出當前系統的網路連接情況,如果你能找到eth0欄位,且其IP地址是和你的主機地址在同一網段的話(非0.0.0.0或其他異常地址),那麼你就可以直接開啟eclipse,按照普通SDK模擬器那樣開發調試了。如果你的顯示如下:

根本沒有顯示eth0的話,那麼說明虛擬機器的網路連接有問題,關閉虛擬機器,進入VirtualBox的設定,在“網路”頁面,確保選中的是橋接網卡模式,然後將控制晶片選擇PCnet-FAST III,儲存後重啟虛擬機器,這個時候你會看到eth0出現了。但是其IP地址卻是0.0.0.0!此時你需要的是,進入Android系統,在Settings->Ethernet Configuration中將Ethernet選項勾中,這樣就確保了Android系統使用了主機的乙太網路串連,同時你會注意到Android的系統欄裡面多了一個乙太網路串連的ICON。你可以Alt+F1返回到控制台,使用netcfg重新查看當前的網路連接,eth0應該不再是0.0.0.0,而是一個和你的主機IP在同一網段的IP地址了。

即是在開啟Ethernet選項前後的netcfg的輸出:

 最後就是在eclipse裡面調試了,首先,在Windows的CMD模式下,進入Android SDK的目錄,運行adb connect 你的虛擬機器的IP地址:5555條命令,使得adb與Android模擬器之間建立串連:

然後在eclipse裡面進行調試的時候,就可以彈出Android模擬器的顯示項目了:

 

大功告成!

限制:如果你的工程裡面有使用so,那麼請確保在Android.mk中修改介面類型為x86類型的,否則apk將無法在Android x86模擬器上運行。這也意味著如果你下載的apk裡面有使用so的話,一般都無法再Android x86上啟動並執行,因為市集中的apk的so都是arm類型的。所以一般如果是開發調試so的話,還是建議使用真機或者SDK的模擬器。

 

參考文獻:

Switch android x86 screen resolution

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.