Android-x86虛擬機安裝配置全攻略


Android-x86虛擬機安裝配置網上有很多,但是全部說明白的確不多,希望這篇文章能把主要的配置介紹給您,幫助您少走一些彎路。

本文分別針對VMWare和Virtual Box兩種虛擬機介紹安裝配置方法,並描述了如何使用eclipse進行調試。

一、安裝Android-x86虛擬機

1、使用vmware安裝Android-x86

http://www.android-x86.org/download下載安裝包,下載eeepc版本的iso文件,本例以4.0 RC2版本為例。

運行vmware新建虛擬機:

2virtual box安裝Android-x86

在 Virtual Box 中創建一台新的機器:

  • target OS(目標 OS): 選擇 Linux
  • target OS version(目標 OS 版本): others
  • 我選擇了 1GB 內存和 1 個 CPU(其他選項保留默認值)
  • 增加一個新的硬盤:VDI drive,動態大小,512M
  • 在 storage(存儲)選項中添加一個指向所下載 iso 鏡像的 CDROM

3、開始安裝

從 boot(啟動)菜單中選擇 install to hard disk(安裝到硬盤)。

接下來創建分區,依次選擇newprimarybootablewrite創建一個可引導的主分區。

接下來兩步選擇yes,其中第二步為開啟GRUB管理模式,可以用於調試程序。

二、Android-x86 有內建的快捷鍵

較常用的有:

  • Alt-F1 = 進入 console 模式
  • Alt-F7 = 回到 GUI 模式
  • Alt-F9 = 圖形界面
  • Alt-F10 = 畫面旋轉 180 度
  • Alt-F10 = 畫面旋轉 180 度
  • Alt-F11 = 畫面向左旋轉 90 度
  • Alt-F12 = 畫面向右旋轉 90 度
  • Ctrl-P = 開啟Android設定畫面
  • "Windows 鍵"相當於 Android 的 Home 按鈕。
  • "Esc" 相當於 Android 的 Back 按鈕
  • F2 相當於 Android 的 Menu 按鈕
  • F3 相當於 Android 的 Search 按鈕
  • 右邊的菜單鍵(winctrl中間的鍵) = Android菜單鍵

三、設置虛擬機網絡

1vmware設置

a、安裝虛擬機時需要使用nat模式

b、如果/data/misc/dhcp目錄不存在,則進入console模式創建

# mkdir /data/misc/dhcp

 

c、關閉虛擬機及vmware,修改vmx文件

ethernet0.virtualDev = "vlance"

 

d、開啟虛擬機,進入console模式

# su
# dhcpcd eth0

 

e、設定dns,或者設置為與宿主機的dns一致的地址

# setprop net.dns1 8.8.8.8

2virtual box設置:

使用橋接模式:

a、使用netcfg命令查看eth0設備是否已經分配ip地址

b、開啟虛擬機,使用ALT+F1進入console模式,輸入su切換root用戶

c、指定ip地址,執行如下腳本,ip地址需要和物理主機在同一個網段中

# ifconfig eth0 192.168.120.200 netmask 255.255.255.0 up

 

將物理主機網關加入路由表

# route add default gw 192.168.120.254 dev eth0

 

d、設定dns,或者設置為與物理主機的dns一致的地址,如202.106.196.115

# setprop net.dns1 8.8.8.8

 

另外需要特別注意的是,如果豌豆莢等進程處於啟動狀態,網絡設置會失敗,使用netcfg命令會發現根本沒有eth0設備。

所以在安裝虛擬機之前一定要停止豌豆莢等軟件。

如果使用NAT模式,需要使用dncpcd自動分配ip地址,dns要和物理主機一樣,示例如下:

# dhcpcd
# ifconfig eth0 up
# setprop net.dns1 202.107.117.11

 

另外還需要配置端口轉發

端口轉發也可以在物理主機virtual box目錄下使用如下命令:

# VBoxManage modifyvm "Your Android VB name" --natpf1 adb,tcp,*,5555,*,5555

 

3、使設置長期生效

console模式下的配置信息似乎不會保存,使用以下方法可以保證設置一直生效

# Vi /etc/init.sh

 

在文件末尾增加如下配置:

ifconfig eth0 192.168.120.200 netmask 255.255.255.0 up
route add default gw 192.168.120.254 dev eth0
setprop net.dns1 202.106.196.115

 

四、配置分辨率,可以分別模擬手機和平板移動設備

Virtual box可以配置分辨率,vmware還沒有很好的辦法,因此以Virtual box為例。

1、在虛擬機添加自定義分辨率

在虛擬機關閉以后進行。

方法一:對應的虛擬機的vbox文件的“<ExtraData>”下新開一行,添加以下內容

<ExtraDataItem name="CustomVideoMode1" value="480x800x16"/>
<ExtraDataItem name="CustomVideoMode2" value="320x480x16"/>

 

方法二:執行命令,其中“VM name”替換為你自己的虛擬機的名字

dos模式下進入VirtualBox安裝目錄,默認為C:\Program Files\Oracle\VirtualBox,執行如下命令

# VBoxManage setextradata "VM name" "CustomVideoMode1" "480x800x16"
# VBoxManage setextradata "VM name" "CustomVideoMode2" "320x480x16"

2、修改grub的menu.lst

啟動虛擬機,到debug mode下

以 RW 模式重新掛載分區

# mount -o remount,rw /mnt

 

編輯文件:

# vi /mnt/grub/menu.lst

 

如果是手機分辨率則復制MDPI的幾行,平板分辨率則復制HDPI的內容。把title改為自己想要的啟動項名字,如“Android-x86 480×800x16”,在“kernel”后加上:

UVESA_MODE=480x800

 

320×480的分辨率也類似進行。

3、在debug mode下重啟Android-x86

運行命令

# /system/bin/reboot

 

即可

五、配置eclipse允許使用虛擬機遠程調試開發

1、查詢ip地址

進入cosole模式,使用netcfgip命令查詢虛擬機的ip地址:

其中eth0表示虛擬機的網絡設備,后面的ip地址即為虛擬機的ip地址。

2、配置eclipse

使用Alt+F7返回圖形界面。

打開eclipse,進入android開發插件的設定界面,選擇ddms,勾選 Use ado host, 並在ADT host value 一欄填寫虛擬機的ip地址,具體界面請參看下圖:

 

打開devices視圖,如果未加載devices視圖,可以使用如下方法打開devices視圖

 

devices視圖中選擇重啟adb:

或者也可以使用命令行重啟adb,新版的adb命令位於platform-tools目錄下:

# adb kill-server
# adb start-server

 

重新啟動后可以看到虛擬機設備已經在列表中了

3、配置項目rundebug參數

運行或調試程序時就可以選擇虛擬機作為調試設備了

如果eclipse找不到虛擬機設備,請檢查系統是否安裝豌豆莢等android連接程序,如果安裝需要停止相關進程。

六、配置SD

配置SD卡可以使用多種方式。

1、將文件偽裝成 SD 卡

console模式下執行如下腳本:

# dd if=/dev/zero of=/data/sdcard.img bs=1024 count=65536
# losetup /dev/block/loop7 /data/sdcard.img
# newfs_msdos /dev/block/loop7

 

其中65536表示64MBSD卡,可以修改此數字增大SD卡大小

重新啟動虛擬機進入debug模式,以 RW 模式重新掛載分區

# mount -o remount,rw /mnt

 

編輯文件:

# vi /mnt/grub/menu.lst

 

向 kernel 中添加一個參數:

SDCARD=/data/sdcard.img

2、使用獨立的分區

首先需要在 VirtualBox 中創建一個新的硬盤,然后將其配屬給 VM:

然后以debug模式啟動 VM,新建的分區默認掛載為/dev/sdb文件

創建分區前可以查詢分區情況:

# fdisk -l /dev/sdb

 

使用 fdisk 創建一個新的分區。分區創建完成后,對它進行格式化:

# fdisk /dev/sdb

 

該命令后續操作包含如下參數:

  • 輸入 m 顯示所有命令列示。
  • 輸入 p 顯示硬盤分割情形。
  • 輸入 a 設定硬盤啟動區。
  • 輸入 n 設定新的硬盤分割區。
    • 輸入 e 硬盤為[延伸]分割區(extend)。
    • 輸入 p 硬盤為[主要]分割區(primary)。
  • 輸入 t 改變硬盤分割區屬性。
  • 輸入 d 刪除硬盤分割區屬性。
  • 輸入 q 結束不存入硬盤分割區屬性。
  • 輸入 w 結束並寫入硬盤分割區屬性

輸入n開始創建分區

 

輸入p創建主分區

 

此步驟詢問分區的序列號,因為sdb還沒有分區,因此可以選擇1


輸入開始的塊地址,默認即可

 

設置結束的塊地址,該地址決定分區的大小,具體可以根據分區總大小以及此處提供的塊數量

輸入w寫入分區並退出。

使用fat32位格式化分區:

# newfs_msdos /dev/sdb1

 

編輯 menu.lst 文件

# vi /mnt/grub/menu.lst

 

添加kernel參數:

SDCARD=sdb1

七、安裝應用

1、安裝應用

如果未連接設備,可以在物理主機的命令行模式下使用如下命令連接

# adb connect 192.168.11.12

 

可以使用如下命令安裝apk:

# adb install -r HelloWorld.apk

 

但有時安裝的時候報如下錯誤:

more than one device and emulator

可以使用如下方法:

查找設備:

# adb devices
List of devices attached
emulator-5554   device

 

安裝

# adb -s emulator-5554 install -r HelloWorld.apk

 

2、卸載

adb uninstall HelloWorld.apk

 

或者直接刪除文件

# adb -s emulator-5554 shell
# cd /data/app
# rm HelloWorld.apk
# exit

 

刪除系統應用:

adb remount (重新掛載系統分區,使系統分區重新可寫)。
adb shell
cd system/app
rm *.apk

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM