1. 程式人生 > >ubuntu/centos環境下玩android系統(二): linux下的android模擬器執行!

ubuntu/centos環境下玩android系統(二): linux下的android模擬器執行!

      上一篇完成了Android的編譯,想必一定心裡癢癢了!這一篇將開始玩轉android模擬器!

如果不喜歡在linux下執行 emulator ,可直接看第三篇,第三篇講述windows下的模擬器,相對linux下,要簡單很多!

一.下載Andoird SDK,這次我選擇的是android-sdk_r15-linux.tgz

安裝很簡單,直接解壓到opt目錄下!最好配製一下PATH,以便執行時不用設定PATH環境變量了!在/etc/profile里加入

export PATH=/opt/android_sdk/android-sdk-linux/tools:$PATH

然後 $ source /etc/profile

二.接著,我們可以配製android sdk了

$ android list target

這個命令顯示可以應用的sdk,由於我們還沒有下載安裝,因此什麼也看不到。

下面將解決這個問題

直接執行

$ android

進入android sdk manager,直接點install packets,將會自動安裝,大約兩小時,安裝完畢!

$ android list target

----------
id: 1 or "android-3"
     Name: Android 1.5
     Type: Platform
     API level: 3
     Revision: 4
     Skins: HVGA-P, QVGA-L, HVGA-L, QVGA-P, HVGA (default)
     ABIs : armeabi
----------
id: 2 or "android-4"
     Name: Android 1.6
     Type: Platform
     API level: 4
     Revision: 3
     Skins: WVGA854, QVGA, WVGA800 (default), HVGA
     ABIs : armeabi


........//有省略

id: 5 or "android-10"
     Name: Android 2.3.3
     Type: Platform
     API level: 10
     Revision: 2
     Skins: WVGA854, QVGA, WVGA800 (default), WQVGA432, WQVGA400, HVGA
     ABIs : armeabi


  ...... //有省略,這裡特意列出android 2.3.3,因為後面就用它,別忘了我們前面編譯的android就是這個版本!

這個資訊很重要,對我們後面建立AVD(android virtual device)和執行android emulater提供了資訊!

三 .$ android create avd -n cjhavd -t 5

-n後面接需要建立avd的名字,-t後面接需要建立虛擬器的型別,5即為步驟android list target中得到的型別id號。

$ android list avd
將看到剛才我們建立的AVD

$ emulator -avd cjhavd
啟動模擬器,用預設的system.img,ramdisk.img,userdata.img

四. 關聯我們編譯好的android檔案

上節我們講過,順利編譯編譯後,將產生三個檔案system.img,ramdisk.img,userdata.img,為了讓模擬器找到這三個檔案,

進入android sdk 的目錄/platforms/android-10/images,用我們編譯好的system.img,ramdisk.img,userdata.img替換掉這三個檔案,然後

$ emulator -avd cjhavd

或者指定兩個環境變數,開啟/etc/profile在後面加上

export ANDROID_SWT=/opt/out/host/linux-x86/framework
export ANDROID_PRODUCT_OUT=/opt/out/target/product/generic
進入out/host\linux-x86/bin,也有emulator命令!這裡不再講解,有興趣的可以自己嘗試一下!


為了與前面協調,這裡列出目前為止/etc/profile未尾加上的內容
export JAVA_HOME=/opt/jdk/jdk1.6.0_29
export ANDROID_JAVA_HOME=$JAVA_HOME
export JRE_HOME=/opt/jdk/jdk1.6.0_29/jre
export PATH=/opt/jdk/jdk1.6.0_29/bin:$PATH
export ANDROID_SWT=/opt/out/host/linux-x86/framework
export ANDROID_PRODUCT_OUT=/opt/out/target/product/generic
export PATH=/opt/android_sdk/android-sdk-linux/tools:$PATH

enjoying it...