溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發(fā)布時間:2020-07-12 20:54:24 來源:網(wǎng)絡 閱讀:916 作者:sunzeduo 欄目:移動開發(fā)

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


android源碼編譯完成以后生成的目錄都是在源碼目錄下的out文件夾下

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

out/host   表示生成的是對于宿主機器上的各種工具,比如adb aapt dexdump等這些工具以及一些庫文件

我們這里主要關心 out/target 下面生成的文件,在cm源碼中經(jīng)過不同的配置對于不同的機型 target下有相應的目錄,比如 前面提到的maguro,crespo等,這里對于模擬器對應的目錄是 generic 這個目錄。

而對于android模擬器需要啟動的最基本的幾個文件如下:

1 kernel文件  內(nèi)核文件,包括bootloader,開機動畫等,android模擬器使用的goldfish內(nèi)核,需要到githup下載基于cm 11.0的goldfish linux內(nèi)核。


2 system.img  掛載 system目錄的鏡像
3 ramdisk.img   掛載磁盤的鏡像
4 userdata.img  掛載用戶數(shù)據(jù)的鏡像

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



一 前置條件

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

2 下載配套的goldfish 內(nèi)核代碼
  這里下載的地址是
  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 前面的數(shù)字,完成配置

3 make -j4

經(jīng)過漫長的編譯,在 out/target/product/generic 目錄下生成了各種img文件,如下圖


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



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

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

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI