基於 cm-11 源碼編譯模擬器

來源:互聯網
上載者:User

標籤:android   模擬器   

以前對於cm的源碼編譯都是基於固定機型的,有的時候需要使用模擬器,這邊就記錄一下使用cm的源碼來如何編譯android 模擬器,不過在做這件事情前你最好評估一下自己的機器配置。這裡給出的推薦的配置是,i5以上的cpu,硬碟要固態硬碟,否則模擬器的啟動和載入的速度幾乎不可以忍受。


android源碼編譯完成以後產生的目錄都是在源碼目錄下的out檔案夾下

out/target 表示產生的是目標機器一般是手機上的各種程式,比如rom等

out/host   表示產生的是對於宿主機器上的各種工具,比如adb aapt dexdump等這些工具以及一些庫檔案

我們這裡主要關心 out/target 下面產生的檔案,在cm源碼中經過不同的配置對於不同的機型 target下有相應的目錄,比如 前面提到的maguro,crespo等,這裡對於模擬器對應的目錄是 generic 這個目錄。

而對於android模擬器需要啟動的最基本的幾個檔案如下:

1 kernel檔案  核心檔案,包括bootloader,開機動畫等,android模擬器使用的goldfish核心,需要到githup下載基於cm 11.0的goldfish linux核心。


2 system.img  掛載 system目錄的鏡像
3 ramdisk.img   掛載磁碟的鏡像
4 userdata.img  掛載使用者資料的鏡像

有了前面的介紹以後,我們開始進行基於cm 11.0源碼的模擬器編譯。



一 前置條件

1 下載一套完整的 cm 11.0源碼,和過程見前面的博文

2 下載配套的goldfish 核心代碼
  這裡下載的地址是
  https://github.com/CyanogenMod/android_kernel_goldfish/tree/cm-11.0
  下載完成以後,將代碼解壓縮在 kernel/goldfish 即可



二 編譯
進入源碼目錄
1  . build/envsetup.sh
2  lunch
   找到 cm_goldfish-eng

Which would you like? [aosp_arm-eng]
   填入 cm_goldfish-eng 前面的數字,完成配置

3 make -j4

經過漫長的編譯,在 out/target/product/generic 目錄下產生了各種img檔案,如


650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/45/79/wKiom1PoX7iwR_22AAJUwU4YSgs464.jpg" title="tu3.png" alt="wKiom1PoX7iwR_22AAJUwU4YSgs464.jpg" />



3 運行模擬器
emulator -kernel /DiskCM11/cm-11/out/target/product/generic/kernel -data /DiskCM11/cm-11/out/target/product/generic/userdata.img  -system /DiskCM11/cm-11/out/target/product/generic/system.img  -ramdisk /DiskCM11/cm-11/out/target/product/generic/ramdisk.img

這個命令就可以將模擬器給運行起來了,但是如果硬碟和電腦不給力的話,模擬器的速度實在不敢恭維。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.