




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 ROM 教程 編譯篇 制作手機ROM,也就是我們平時說的刷機包,至少你要對一些概念有所了解,例如刷機,recovery,root,adb等等。這些基本概念不用介紹了,大家平日接觸過有個概念就行。 我們所做的ROM是將一些主流的ROM適配到我們自己的手機上去,例如cm miui flyme等等,做ROM也有很多種途徑,移植,插樁適配,源碼編譯。我們現(xiàn)在就學習兩個方向做ROM,插樁適配和編譯。移植ROM雖然上手難度小一點,但是情況太多修復bug也比較麻煩,這里就不論述了,有興趣可以自己試試。 對于剛開始學習,一個手機是否合適還是有很大影響的。如果你的手機很合適,基本照著教程輸完命令也就出包了。比
2、如在開發(fā)者里人人皆知的nexus系列,當然國產(chǎn)的一加手機也是開發(fā)者中的首選。不過一些比較熱門的手機也會比較好做,開源的就好。這個給大家一個地址 然后去搜索一下你的手機代號(又說道代號了,這里又要補充一下,每一個手機基本都會有一個代號 不再用型號稱呼 我的手機是moto g代號是falcon 比如小米4的代號是cancro 谷歌的nexus4代號是mako等等 這個你要去百度或者論壇里去查查)如果搜出來結果了像這個樣子 那你的手機device就有了(如果沒有的話,可能說明這個機型不太適合初學開發(fā),我目前剛學。如果沒有device我也不知道該怎么繼續(xù)下去。不過辦法總比困難多,想鉆研總是會有辦法的)
3、搜索到結果就像下圖 但是每個人手機情況都有別,所以到時候會碰到很多不同的原因。具體后面再說。 我們進行制作的環(huán)境一般都不在windows下,使用的是一些linux的系統(tǒng),常用的有ubuntu,mint,debian等等等等這個看個人愛好用哪個 就像win7 win8 win10的選擇。如果你的電腦配置比較好,又不想裝雙系統(tǒng),可以用虛擬機的方式安裝。不過還是推薦用實體機安裝,這樣以后用起來比較方便,性能也能得到利用。虛擬機安裝方法這里不多說了,比較簡單,實體機安裝的時候一般把鏡像解壓到U盤 選U 盤啟動按照提示一步一步就行。具體還請百度,裝系統(tǒng)是一個男生必須會的一項技能,女生就可以讓男生幫你們裝
4、(安裝的時候有個選項是和windows組成雙系統(tǒng),那個別選,據(jù)說選了windows就會掛,雖然我也沒試過 選下面的一個自定義的 然后把盤分一下這樣才是雙系統(tǒng) 正確操作文件不會丟失的 如果想學習編譯的話磁盤一定要大一點。建議100G以上。我分了200+G ) 等你安裝完了接下來可以熟悉一下操作 這個系統(tǒng)很重要一個東西就是終端 按ctrl+alt+t可以呼出終端。就長這樣 以后主要是和這玩意打交道。這個和windows下的cmd窗口差不多,這個命令也有很多 以后慢慢就熟悉了。 =之后開始開發(fā)的相關工作了= 我們這里先做一些編譯的準備,就打開這個終端,輸入如下的命令,這個是安裝一些必要的軟件包:su
5、do apt-get install bison build-essential curl flex git gnupg gperf libesd0-dev libncurses5-dev libsdl1.2-dev libwxgtk2.8-dev libxml2 libxml2-utils lzop openjdk-7-jdk openjdk-7-jre pngcrush schedtool squashfs-tools xsltproc zip zlib1g-dev g+-multilib gcc-multilib lib32ncurses5-dev lib32readline-gplv2
6、-dev lib32z1-dev ( 直接復制進去就行了,注意 這個窗口里粘貼不能用ctrl+v了 用右鍵粘貼也行 用ctrl+shift+v也行。) 之后就是下載repo了 repo這個東西我也說不清是干啥的,應該就是管理下載的 反正以后下載源碼都會用到他 用下面命令:mkdir -p /bin /這個是新建一個叫bin的文件夾 mkdir這個是新建命令 就是你的home目錄curl > /bin/repo /這個意思是從谷歌那里拉下來repo這個程序chmod a+x /bin/repo /給這個文件夾權限echo "export PATH=/bin:$PATH"
7、 >> /.bashrc /這個是配置環(huán)境變量之后就是大頭戲了,咱們拉源碼,這里要先建立好文件夾,別到時候都放到了home下。會出來一大堆東西的我新建了一個叫做cyanogenmod的文件夾,這個都隨意。之后進入文件夾之后右鍵打開終端,當然你也可以打開終端用cd命令進入。這時候會顯示這樣之后只要輸入repo init -u git:/ -b cm-12.1然后輸入 repo sync可能下載的時候要設置郵箱和你的名字什么的 有提示之后輸入這里根據(jù)自己的情況改git config -global user.email "youremail.address"
8、0;git config -global "Your Name"這里的cm12.1就是拉取cm12.1的源碼 同理你可以獲取12.0 13之類的不過。因為天朝原因,目前寫這篇教程的時候直接這樣是不能從谷歌下載東西的,所以你需要做些處理這個地址會更新可用的hosts需要的時候就去看一下然后找到23 23 23 這一段 前面這個ip是我目前獲取的可用的 到時候更新了自己去查一下然后打開終端,輸入sudo gedit /etc/hosts 之后輸入密碼就可以打開hosts這個文件吧上面那三
9、行加進去保存。然后進行拉取源碼的操作就行了。(這里估計得下載10+G文件 我用移動下載可以滿速電信沒試過,哦對說到電信。咱們學校的閃訊linux下我還沒學會怎么使,wine打開沒反應。要是高人研究出來可以告知一下)中間可以中斷,或者你發(fā)現(xiàn)網(wǎng)絡出問題了也可以中斷 在運行中的終端輸入ctrl+z就可以了 之后開始再輸入repo sync說到repo sync這個命令 還有很多學問 后面可以加一些參數(shù) 比如-c -j4之類的 具體可以自行了解一下不同當你把源碼都獲取完了,會自動釋放出來很多文件,之后就很好辦了。我的源碼目錄下文件夾是這樣的簡要說明一下device就是你的機型目錄里面有你的設備文件夾
10、vendor里面是從你手機里拉取的一些文件 out到時候是生成包的目錄(這個和之后要介紹的插樁都一樣通用的)終端進到cyanogenmod文件夾,輸入source build/envsetup.sh (終端有個自動補齊功能,就是你輸入命令輸入一般按一下tab 可以自動補全后面你可能要輸入的命令 不過前提是前一半輸入正確了或者能在該目錄下執(zhí)行,要是有時候沒補齊也沒事,自己輸入就是了 source這個命令是初始化環(huán)境的,以后打開終端進行下面的步驟都要先輸入一下這個,不然后面可能會說沒有命令啥的)之后輸入breakfast falcon(我的機型代號是falcon,這個根據(jù)你機型的名稱來)然后又會下
11、載一大堆文件,這個是你手機的device。下載到最后有可能會說一些東西找不到之類的錯誤,沒關系先進行下一步。用cd命令進入到你機型的文件夾,比如我的cyanogenmod/device/motorola/falcon 輸入./extract-files.sh (前面有個. 的)然后就會從手機中拉取一些文件 這個和你手機中現(xiàn)在的rom也有些關系。我試過我用flyme的時候會有些文件拉取不到。可能flyme系統(tǒng)中沒有這些編譯需要的文件,可以的話換一個偏原生點的包試試進行完這個步驟之后可以再回到cyanogenmod文件夾下重來一次breakfast falcon了不出意外之前的那些錯誤應該會沒了
12、如果再出錯可以看看出錯的提示,具體再討論。這樣就是做好編譯的準備了輸入croot然后輸入brunch falcon就可以。等著了。如果不出錯就可以等著出包了。我的配置編譯一次得4個小時。當然途中可能會出現(xiàn)一些錯誤,別慌,錯誤一般都有提示,只要解決了可以從斷點繼續(xù)的。一些簡單的錯誤可能會說p里面少了一行手機的名稱啊代號啥的。這個照著路徑找到文件加上就行后面有具體說,其他的如果碰到了可以對著出錯提示分析,百度,或者咨詢一些大神。從斷的地方繼續(xù)還是輸入brunch falcon就行每次要重新編譯的時候,最好要清除一下上次的緩存之類的文件 make clobber(應該還有別的命令
13、make clean之類的 大家自己試試)編譯cm的方法就是這樣,不過還有很多開源的rom項目,比如sudamod 下載源碼的時候用sudamod的命令替換 之后breakfast的時候會提示一個sm_falcon什么的沒有 這是sudamod和cm不一樣的地方了 要稍作修改 進到你的設備目錄下,有一個叫cm.mk的東西,打開來里面本來的cm_falcon改成sm_falcon 然后吧文件名也改成sm.mk 之后就和cm的步驟一樣了 最后編譯的時候會提示p找不到一行什么參數(shù) 你就照著他提示的目錄找到p加上哪行參數(shù)。我編譯cm的時候沒有出什么問題,編譯sudamod的時候發(fā)現(xiàn)這兩個地方有區(qū)別其他都是一樣的。 當然這里只是提供了一個例子 開源項目很多 解決方法也不一樣 只要學會搜索咨詢分析,都可以解決。這個文檔也剛開始寫,后面遇到問題我也會更新,過一陣子還會寫插樁的教程祝大家玩的愉快!有問題可以提出交流。Cyanogenmod只是一個開源rom項目,下面也提供一些地址(github真的是個好地方)Sudamod:BO
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 城市配送與物流配送環(huán)節(jié)的個性化服務考核試卷
- 機床附件的供應鏈優(yōu)化與成本控制考核試卷
- D打印技術在個性化鞋類設計的應用考核試卷
- 城市規(guī)劃城市水資源配置考核試卷
- 未來的數(shù)字化電影產(chǎn)業(yè)考核試卷
- 在家工作租房合同范本
- 代加工藥品合同范本
- 工程承包服務合同范本
- 酒店客房服務操作流程制度
- 電力行業(yè)電力設備維修合同及免責條款
- 心源性休克護理
- 法律盡職調查
- 2024年山東省公務員考試《行測》真題及答案解析
- 凝固點降低獲獎課件
- 化工原理Ⅱ學習通超星期末考試答案章節(jié)答案2024年
- 基因家族分析
- 手機以舊換新活動方案
- 高中英語牛津譯林版(2020)中國文化+素材
- 施工便道施工方案三工區(qū)縱向便道施工方案
- 2024年河南省高考對口升學語文英語試題
- 2024年水利安全員(B證)考試題庫-上(單選題)
評論
0/150
提交評論