如何编译CWM Recovery
原文鏈接:http://forum.xda-developers.com/showthread.php?t=1866545
?
你必須使用32位或64位Ubuntu系統(tǒng),關(guān)于如何建立編譯環(huán)境和同步源碼的指導(dǎo),請(qǐng)自己查找有關(guān)指導(dǎo)的文章。
?
1,
安裝所需要的包
?
2,
建立編譯的環(huán)境,并同步CWM所需的源碼,CyanogenMod源碼中附帶CWM源碼
CWM 5 - Gingerbread CWM 6 - Jellybean?
3,
下面我們進(jìn)入真正的編譯階段,確保你已經(jīng)使用“repo sync ”命令同步了最新的源碼
進(jìn)入源碼的目錄
放出以下命令:
???? make -j4 otatools?
3.5,
如果你的機(jī)型不被CM10官方支持,請(qǐng)執(zhí)行這一步
在你的手機(jī)終端上執(zhí)行以下命令,
dump_image boot /sdcard/boot.img這將boot鏡像導(dǎo)出到你手機(jī)的sdcard,復(fù)制該鏡像至你的home目錄下
為一款新設(shè)備編譯android源碼,需要建立相應(yīng)的配置文件和makefile文件,這通常比較麻煩,如果僅僅編譯recovery鏡像,會(huì)容易的多。在android源碼根目錄下(假設(shè)已運(yùn)行envsetup.sh),運(yùn)行以下命令(使用適當(dāng)?shù)拿Q取代命令中的名稱)
build/tools/device/mkvendor.sh device_manufacturer_name device_name /your/path/to/the/boot.img例如,你擁有Samsung Galaxy Ace這款設(shè)備,你應(yīng)該使用以下這條命令
build/tools/device/mkvendor.sh Samsung cooper ~/boot.img ? Please note that Cooper is the device name. Only use "~/boot.img" if you have the boot image in your home directory. Or else please specify the correct path.如果所有都工作正常,你將看到"Done!"這樣的確認(rèn)信息。mkvendor.sh腳本也將在你的android源碼樹中創(chuàng)建以下目錄:
manufacturer_name/device_name
?
4,
現(xiàn)在你已經(jīng)擁有相關(guān)的配置文件
在源碼目錄下,在terminal終端下鍵入以下命令
. build/envsetup.sh這一步將為你建立編譯環(huán)境
現(xiàn)在使用這條命令
lunch full_device_name-eng這將為你的設(shè)備建立起build system。用文件管理器或IDE打開目錄,你應(yīng)該擁有以下文件:?AndroidBoard.mk, AndroidProducts.mk, BoardConfig.mk, device_.mk, kernel, system.prop, recovery.fstab, 和 vendorsetup.sh
?
對(duì)你感興趣的應(yīng)該是recovery.fstab和kernel這兩個(gè)文件,kernel這個(gè)文件是你之前從boot.img文件中提取出的。recovery.fstab將適用于大部分擁有?mtd, emmc,或者其他分區(qū)的設(shè)備。如果沒有,recovery.fstab將需要優(yōu)化以支持加載這些點(diǎn)。例如?/sdcard被加載至/dev/block/mmcblk1p1,
你需要將下面這段加入到你的BoardConfig.mk文件中
/sdcard vfat /dev/block/mmcblk1p1?
一旦recovery.fstab已經(jīng)適當(dāng)?shù)难b載,你可以開始下一步了
?
5,
現(xiàn)在,我們開始編譯Recovery
make -j4 recoveryimage這個(gè)命令用于編譯recovery鏡像
你能使用這個(gè)命令
make -j4 recoveryzip用于建立一個(gè)臨時(shí)的recovery.zip刷機(jī)包在你真實(shí)的設(shè)備上測(cè)試
你編譯好的recovery可以在"your_source_directory/OUT/target/product/device/recovery.img"目錄下找到。而.zip刷機(jī)包可以在相同目錄下的utilities文件夾下找到。
如果各項(xiàng)測(cè)試正常,就可以有一個(gè)成功的recovery
?
一旦你編譯通過了recovery,通知"koush",在Github上,他就能根據(jù)你的編譯文件發(fā)放官方版的CWM Recovery,并使Rom Manager提供相應(yīng)的支持。
?
?
小貼士:
如果你想編譯CWM6,使用以下命令同步j(luò)ellybean分支源碼
repo init -u git://github.com/CyanogenMod/android.git -b jellybean ? repo sync?
如果你改變了BoardConfig.mk文件,在編譯期間運(yùn)行"make clobber",否則你做的更改就不會(huì)生效。
?
如果你在32位系統(tǒng)上編譯CWM6,你需要同步以上源碼,更多信息請(qǐng)參考readme。
總結(jié)
以上是生活随笔為你收集整理的如何编译CWM Recovery的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 上帝掷骰子吗txt_学物理,男女生差异大
- 下一篇: 如何清除弹窗FF新推荐