![教你制作Android-介紹教學(xué)研究_第1頁](http://file4.renrendoc.com/view11/M00/3C/3A/wKhkGWWnOuqAdTN5AAI9gYfn0fY215.jpg)
![教你制作Android-介紹教學(xué)研究_第2頁](http://file4.renrendoc.com/view11/M00/3C/3A/wKhkGWWnOuqAdTN5AAI9gYfn0fY2152.jpg)
![教你制作Android-介紹教學(xué)研究_第3頁](http://file4.renrendoc.com/view11/M00/3C/3A/wKhkGWWnOuqAdTN5AAI9gYfn0fY2153.jpg)
![教你制作Android-介紹教學(xué)研究_第4頁](http://file4.renrendoc.com/view11/M00/3C/3A/wKhkGWWnOuqAdTN5AAI9gYfn0fY2154.jpg)
![教你制作Android-介紹教學(xué)研究_第5頁](http://file4.renrendoc.com/view11/M00/3C/3A/wKhkGWWnOuqAdTN5AAI9gYfn0fY2155.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1/1教你制作Android_介紹-教學(xué)研究
主要江蘇了安卓系統(tǒng)的相關(guān)學(xué)問。
教你制作AndroidROM
有點(diǎn)玩機(jī)愛好的android愛好者,應(yīng)當(dāng)對customROM這種東西都不生疏。我介紹root權(quán)限獵取的時(shí)候,就直接用的MoDaCoCustomROM作為例子。適用于Hero比較好的ROM還有不少,比如Drizzy’sCustomHeroROM等等,都可以在XDA上找到。確定有不少伴侶感到很奇怪???,這些ROM都是怎么做的??紤]到中文社區(qū)相關(guān)資料比較少,在這里拋磚引玉,也許原理介紹一下。
對于第三方ROM來講,通常都包括兩部分,一個(gè)recoveryimage,一個(gè)update.zip。而大多數(shù)的第三方ROM的特色,就是加入了許多東西,比如superuser程序來獲得root權(quán)限,busybox來擴(kuò)充命令行下的功能,各種各樣的配置文件或者小工具,比如默認(rèn)打開中文locale,等等。這些看似奇妙的改動(dòng),都是在update.zip里面搞的,customrecoveryimage的主要作用就是引導(dǎo)用戶的操作,比如讓你先備份,再應(yīng)用update.zip,再重啟之類的操作。由于customrecoveryimage和update.zip的耦合性很小,所以不少customROM直接都用同一個(gè)customrecoveryimage,這個(gè)似乎是出自MoDaCo之手。再然后,我之前的文章已經(jīng)有對recoveryimage的簡潔講解,所以這里,我主要介紹一下update.zip的制作。
假如我們直接把MoDaCoROM中的update.zip解包,我們會(huì)發(fā)覺有一個(gè)boot.img,一個(gè)data文件夾,一個(gè)system文件夾,一個(gè)META-INF文件夾。這個(gè)data文件夾放的是init.rc,而原來在系統(tǒng)中,init.rc就是在data名目下的。當(dāng)然,兩者的作用不一樣,這里的init.rc主要作用是開機(jī)執(zhí)行你盼望執(zhí)行的命令,比如MoDaCo的init.rc就是installbusybox。
而值得具體說明的,就是system文件夾。MoDaCoROM版本的system下有一系列盼望放到系統(tǒng)中的工具,對于apk文件,就放到app下,工具就放到bin和xbin下,依此類推。換句話說,system或者data這個(gè)名目層次結(jié)構(gòu)是取決于你自己的,你盼望放的東西屬于什么,應(yīng)當(dāng)運(yùn)行在online系統(tǒng)的什么名目下,update.zip里面就應(yīng)當(dāng)是有相應(yīng)的名目路徑,然后東西就放在里面。
詳細(xì)點(diǎn),我們現(xiàn)在要依樣畫葫蘆,搞一個(gè)新的update.zip,那么第一步就是首先建立一個(gè)文件夾
mkdirnew-update
好,假設(shè)我新update.zip的作用就是預(yù)裝我自己的一個(gè)程序,my.apk,那么,我建立對應(yīng)的子名目
mkdir-pnew-update/system/app
cpmy.apk!$
這樣,system名目就完成了。但是這時(shí),update.zip的名目層次還沒完,我們看MoDaCoROM中的update.zip中有文件夾叫META-INF,這個(gè)文件夾很關(guān)鍵,除了根名目下的三個(gè)文件外,里面層層名目,就包括了一個(gè)文件,叫update-script,內(nèi)容如下
show_progress0.10
copy_dirPACKAGE:systemSYSTEM:
set_perm_recursive0007550644SYSTEM:xbin
主要江蘇了安卓系統(tǒng)的相關(guān)學(xué)問。
set_perm_recursive0007550644SYSTEM:sd
set_perm0004755SYSTEM:bin/su
set_perm0004755SYSTEM:bin/a2sd
set_perm0004755SYSTEM:xbin/busybox
copy_dirPACKAGE:dataDATA:
show_progress0.20
formatBOOT:
write_raw_imagePACKAGE:boot.imgBOOT:
show_progress0.210
這里面的內(nèi)容,大部分是針對你要做的修改設(shè)置的。比如
copy_dirPACKAGE:systemSYSTEM:
就是把system中新增的工具拷貝到手機(jī)上,然后
set_perm_recursive0007550644SYSTEM:xbin
set_perm_recursive0007550644SYSTEM:sd
set_perm0004755SYSTEM:bin/su
set_perm0004755SYSTEM:bin/a2sd
set_perm0004755SYSTEM:xbin/busybox
就是設(shè)置MoDaCoROM中新增程序的權(quán)限,然后
copy_dirPACKAGE:dataDATA:
把data下的內(nèi)容(就是那個(gè)init.rc)復(fù)制到手機(jī)上,然后
formatBOOT:
write_raw_imagePACKAGE:boot.imgBOOT:
刷boot分區(qū)。
那我們這里沒有這么多新增的東西,應(yīng)當(dāng)怎么寫呢?
copy_dirPACKAGE:systemSYSTEM:
set_perm_recursive0004755SYSTEM:app/my.apk
就可以了。你當(dāng)然還可以做一些別的事情,比如加一個(gè)FORMATDATA之類的^_^開個(gè)玩笑,千萬別這個(gè)干,不然你的數(shù)據(jù)就全沒了。
好,那么也就是說,我們要在自己的new-update名目下也建一個(gè)/META-INF/com/google/名目,然后把新的update-script扔進(jìn)去。
完了么?差一點(diǎn)。其實(shí)假如你沒有別的需求了,那么就完了,可以把下面這一小塊跳過。下面這一小塊,是關(guān)于boot.img的。在如何修改Android系統(tǒng)的Ramdisk以及boot鏡像文章中,我們談到,假如刷boot鏡像有問題,就要用別的方法讓系統(tǒng)boot我們自己的bootimage
主要江蘇了安卓系統(tǒng)的相關(guān)學(xué)問。
了,這個(gè)別的方法,自然就是用update.zip了。MoDaCoROM版本的update.zip也包括了一個(gè)boot.img,但是假如我們有出于各種需求自己修改的boot.img,自然就可以替換掉原來的了。當(dāng)然留意,假如加了boot.img,那么update-script里面就不能漏掉
write_raw_imagePACKAGE:boot.imgBOOT:
這句。
好,到現(xiàn)在,我們的new-update名目下有
/system/app/my.apk
/META-INF/com/google/update-script
/META-INF/MANIFEST.MF
/META-INF/CERT.SF
/META-INF/CERT.RSA
boot.img
恩,那么就進(jìn)入打包階段。你可能會(huì)問,這有什么難的,直接zip一下不就得了。假如要是這么簡潔就好了,你打包后,必需把你的內(nèi)容都sign一下,得到相應(yīng)的cert,才能在fastboot模式中被承認(rèn)并勝利刷機(jī)。
在sign你的文件之前,先做這么幾件事
打包。進(jìn)入update文件夾,zipupdate.zipxxxxxxxxxxxxxxxxxxx。什么意思呢,就是只把你需要的文件打包,不要用./*作為參數(shù)。而且相對路徑最好是在update下面,不要在外面用zipupdate.zip./update/*這種命令打包
去sun網(wǎng)站下載最新的jre
下載這個(gè)文件testsign
肯定要用JRE1.6.0.16或者更高,我知道這個(gè)有點(diǎn)惡心,但是供應(yīng)下載的testsigh.jar就是根據(jù)這個(gè)版本或者更高編譯的,你用老版本就運(yùn)行不了。
好,下下來以后,執(zhí)行這個(gè)命令
~/jre1.6.0_16/bin/java-classpathtestsign_path/testsign.jartestsignup
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年保密管理策劃合同
- 2025年出讓地塊安全生產(chǎn)監(jiān)管協(xié)議規(guī)范
- 2025年度實(shí)習(xí)生策劃管理與學(xué)習(xí)發(fā)展協(xié)議
- 2025年農(nóng)村土地流轉(zhuǎn)合同樣本資料
- 2025年公務(wù)員住房公積金貸款合同范例
- 2025年上海住宅項(xiàng)目開發(fā)合作協(xié)議書
- 2025年個(gè)體工商戶合資合作協(xié)議書范本
- 2025年注塑機(jī)訂購合同示范
- 2025年債務(wù)抵押擔(dān)保協(xié)議樣本
- 2025年債務(wù)重構(gòu)與清償協(xié)議
- 第十一章《功和機(jī)械能》達(dá)標(biāo)測試卷(含答案)2024-2025學(xué)年度人教版物理八年級下冊
- 初三物理常識試卷單選題100道及答案
- 辦公用品價(jià)格清單
- 公司銀行貸款申請書范文
- DB3713T 340-2024 實(shí)景三維數(shù)據(jù)接口及服務(wù)發(fā)布技術(shù)規(guī)范
- 機(jī)械設(shè)計(jì)制造及其自動(dòng)化專業(yè)知識
- 八年級生物開學(xué)摸底考(長沙專用)(考試版)
- 傳染病監(jiān)測預(yù)警與指揮信息平臺升級建設(shè)方案
- (工作規(guī)范)公路預(yù)防性養(yǎng)護(hù)工作手冊
- 期末測試卷(二)(試題 )2024-2025學(xué)年二年級上冊數(shù)學(xué)人教版
評論
0/150
提交評論