您好,登錄后才能下訂單哦!
以前對于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文件,如下圖
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
這個命令就可以將模擬器給運行起來了,但是如果硬盤和電腦不給力的話,模擬器的速度實在不敢恭維。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。