首頁 > 軟體

在虛擬機器中安裝Android 作業系統

2019-11-27 21:29:53

        做過Android開發的可能遇到過這樣的問題,Android的模擬器實在太慢了,不僅啟動緩慢,執行的過程更慢,尤其在偵錯模式下,找了幾個途徑解決:

         方法1:通過設定Android模擬器與處理器關係(工作管理員中,右鍵 Android模擬器->關係設定,勾選全部CPU)及設定Android模擬器優先順序(工作管理員中,右鍵 Android模擬器->設定優先順序->高)。結果:並不明顯。

         方法2:通過USB連線實體裝置。結果:響應速度很快,但是考慮到解析度的差異,成本是一個不可忽略的因素。

有沒更好的方法能夠解決該問題呢?

        —— 使用PC上虛擬的Android環境代替Android提供的模擬器,即在PC上安裝Android虛擬作業系統

1

VirtualBox的安裝較為簡單,其安裝步驟就不在此累述。

開啟VirtualBox,建一個虛擬機器:輸入名稱,型別選擇Linux,版本選擇Other Linux


2

設定記憶體大小:根據實際情況為虛擬機器分配記憶體大小,如本機的記憶體及目標裝置的記憶體


3

建立虛擬硬碟:選擇「現在建立虛擬硬碟」


4

設定虛擬硬碟檔案型別,選擇「VDI (VirtualBox 磁碟映象)」


5

設定分配方式,選擇固定大小。


6

 設定名稱、位置及大小,名稱使用預設,位置根據本地硬碟空間大小的情況設定,大小根據實際情況設定, 點選建立,等待一會,直至虛擬硬碟建立完成


7

其他設定:虛擬機器建立完成後,還需要修改一些其他設定。選擇建立的虛擬機器(Android4.0),點選工具列中的「設定」


8

裝載映象檔案,在「儲存」的儲存樹中選擇「沒有碟片」,在右側「屬性」中,點選分配光碟機後的光碟圖示,選擇「選擇一個虛擬光碟」,選擇到原生的androidx86的映象檔案,如「android-x86-4.0-r1-eeepc.iso」。其他為預設。


9

 調整網絡卡,在「網路」選擇「網絡卡1」,連線方式建議選擇「橋接網絡卡」,這樣虛擬機器在區域網中有獨立的IP,在「高階」中的控制晶片選擇「Pcnet-FAST III(XXXX)」,否則Android-x86無法識別網絡卡。其他為預設。點選「確定」後儲存。


10

安裝作業系統Android-x86:選擇建立的虛擬機器(Android4.0),點選工具列或右鍵中的「啟動」。


11

第一項: 表示不用安裝,體驗Android-x86。我們需要安裝Android-x86到硬碟上,選擇最後一項後回車。

進入到選擇分割區頁面,若未能進入,可能映象檔案存在問題,請選擇匹配的版本。


12

第一項:表示建立或修改分割區;第二項:表示發現裝置。由於需要建立分割區,選擇第一項Create/Modify partitions。   


13

按左右方向鍵,選擇「New」,按下回車,建立一個分割區。


14

選擇「Primary」,按下回車,以建立主分割區。


15

分割區大小可為預設大小,本例中設定為2048MB,按下回車


16

選擇「Beginning」,按下回車,開始新增一個分割區到空閒空間中。


17

選擇「Bootable」,按下回車,設定該分割區可以引導。這時,Flags列中顯示「Boot」。

        選擇「Write」,按下回車,將修改的內容寫入硬碟。


18

輸入「yes」,按下回車,等待一會,即完成了主分割區的建立。可參考上述相關步驟,將剩餘的空間建立成為分引導的邏輯分割區,注意別忘了選擇「Write」,將修改的內容寫入硬碟。


19

分割區建立完成後,選擇「Quit」回車,即可退出。


20

回到選擇分割區頁面。


21

選擇第一項「sda1」,按下回車。進入到檔案系統選擇介面。


22

下方向鍵,選擇ext3,將sda1格式化為ext3。按左右方向鍵,選擇「OK」。進入確認介面。


23

選擇「yes」開始格式化。格式化完成後,隨即開始安裝,在安裝前提示是否安裝GRUB,因為我們在後續的設定中需要修改Android啟動,此處選擇「Yes」,按下回車。


24

安裝GRUB的時候將詢問是否將system目錄安裝為讀寫模式(設定讀寫模式可以更方便的debug,但是會佔用更多的空間和安裝時間),此處選擇yes,按下回車後將開始安裝。


25

 安裝完成後,進入到後續操作選擇介面。


26

第一項,執行Android-x8b;第二項,重新啟動。有映象檔案,還包括「Create a fake SD card」,若包括,可選擇建立一個虛擬的SD卡,建立時會提示這是SD卡的大小。根據情況設定SD卡大小,按下回車後開始初始化SD卡,此處選擇Reboot。

重新啟動之前,需要退出虛擬機器光碟機中的系統磁碟。首先關閉虛擬機器,因為還沒進入到Android系統,只能選擇強制退出。


27

移除虛擬機器光碟機中的系統磁碟,選擇建立的虛擬機器(Android4.0),點選工具列中的「設定」,在「儲存」的儲存樹中選擇「android-x86-4.0-r1-eeepc.iso」,在右側「屬性」中,點選分配光碟機後的光碟圖示,選擇「移除虛擬光碟」。


28

重新啟動進入Android系統


29

選擇「Android-x86 4.0-r1」,進入系統


30

注意:使用Android系統是,需要設定Virtual Box禁止自動獨占滑鼠,否則滑鼠在Android中無法正常使用。在選單欄中,選擇「控制」->「禁止自動獨占滑鼠」,使其處於選中狀態。

滑鼠使用方法,滑鼠在虛擬機器之外時,點一下虛擬機器,進入虛擬機器,此時被限制在虛擬機器中使用,如果想出來,按一下鍵盤上「右Ctrl」鍵就出來了,當然,可以再VBox中把這個鍵設定為其他鍵。

在初次使用Android系統進行設定時,由於沒有網路,請不要設定Google賬戶。


31

至此,Android虛擬系統已經安裝完成了,即完成了第一個目標及第二個目標的部分內容。

設定解析度

團隊開發暫定的目標機器的解析度為1024x600,即機器開啟後,顯示的解析度即為1024x600。要實現該目標,分為兩步:第一步,定義虛擬機器客製化的解析度模式1024x600;第二步,啟動時啟動指定解析度模式。

第一步,定義虛擬機器客製化的解析度模式1024x600,有兩種方式:

第一種,命令方式

關閉正在執行的虛擬機器,在本地機器中使用cmd命令進入到VirtualBox的安裝目錄,輸入並執行命令:

VBoxManage setextradata "虛擬機器名稱" "CustomVideoMode1" "1024x600x16"  (其中1024x600中是小寫x,而非*,虛擬機器名稱換成建立的虛擬機器名稱,新增多個解析度模式,可執行多次名稱,將CustomVidelMode一次遞增2、3、4……)

第二種,找到建立的虛擬機器的位置,使用寫字板開啟「虛擬機器名稱.vbox」,在<ExtraData>節點中,按照相應的

格式新增子節點,如<ExtraDataItem name="CustomVideoMode2" value="600x800x16">



IT145.com E-mail:sddin#qq.com