第三方rom編譯
A. 手機刷ROM什麼意思 第三方ROM什麼意思
刷ROM就是換系統,root就是最高許可權,刷ROM是指通過一定的方法更改或替換了手機原版系統中固有的一些語言、圖片、鈴聲和軟體版本或者操作系統,可以使手機功能更加完善,類似於電腦中的重裝系統。第三方ROM就是一些使用愛好者自己經過移植和修改做的手機系統。
刷ROM都帶有一定的風險,首先肯定的是,正常的刷ROM操作是不會損壞手機硬體的。特別說明一下,一般刷ROM後就不保修了,所以要保修還是要刷機就要看個人權衡了。
ROM是由英文Read only Memory的首字母構成的,意為只讀存儲器。顧名思義,就是這樣的存儲器只能讀,不能像RAM一樣可以隨時讀和寫。
它只允許在生產出來之後有一次寫的機會,數據一旦寫入則不可更改。它另外一個特點是存儲器掉電後裡面的數據不丟失,可以存放成百上千年。手機ROM指的是存放手機固件代碼的存儲器(常說的刷機也就是指的是重新構建自己想要的ROM),比如手機的操作系統、一些應用程序如游戲等。
(1)第三方rom編譯擴展閱讀:
ram和rom都是存儲技術,只不過是原理不同,所以作用也不相同。
1、ram是隨機存儲,可以隨機讀寫,關機或者重啟數據不會保存;而rom是手機的存儲容量,即只讀內存,能存儲各個軟體和用戶文件,關機或者重啟不會對數據產生什麼影響。
2、ram是支撐手機軟體運行的重要因素,它的大小會影響手機的運行速度;而rom是讓用戶存儲文件的,對手機運行速度的影響微乎其微,基本沒有影響。
3、ram作為隨機存儲技術,運行速度比rom要快很多。
4、我們在手機里存各種軟體、圖片、音頻和視頻都是存在rom容量裡面的,不會影響到ram容量。
5、ram容量一般都比較小,現在手機大多都是3GB、4GB、6GB。而rom的容量最開始有8GB、16GB,但是隨著人們的使用需求量越來越大,現在手機的rom容量即手機內存大多都是32GB起步了,64GB的也不少,還有一些超大容量的128GB和256GB等。
不少人對於容量需求比較大的還會使用SD卡,SD卡就是我們常說的內存卡,放在手機里增加的是rom容量,所以rom容量還能增加,不過現在很多手機本來的rom容量就比較大,所以不支持SD卡容量擴展。
B. Android 的第三方廠商定製 ROM 是怎樣適配底層的
其實底層也就是安卓,需要從谷歌那裡拿到源代碼才能適配,但是升級底層安卓版本時,不單單需要谷歌源代碼,CPU廠商的源代碼也是關鍵
C. 怎麼學習製作rom啊!求教程
如何製作ROM
有點玩機興趣的android愛好者,應該對custom ROM這種東西都不陌生。我介紹root許可權獲取的時候,就直接用的MoDaCo Custom ROM作為例子。適用於Hero比較好的ROM還有不少,比如Drizzy』s Custom Hero ROM等等,都可以在XDA上找到。肯定有不少朋友感到很好奇,這些ROM都是怎麼做的。考慮到中文社區相關資料比較少,在這里拋磚引玉,大概原理介紹一下。
對於第三方ROM來講,通常都包括兩部分,一個recovery image,一個update.zip。而大多數的第三方ROM的特色,就是加入了很多東西,比如superuser程序來獲得root許可權,busybox來擴充命令行下的功能,各種各樣的配置文件或者小工具,比如默認打開中文locale,等等。這些看似神奇的改動,都是在 update.zip裡面搞的,custom recovery image的主要作用就是引導用戶的操作,比如讓你先備份,再應用update.zip,再重啟之類的操作。由於custom recovery image和update.zip的耦合性很小,所以不少custom ROM直接都用同一個custom recovery image,這個好像是出自MoDaCo作者之手。再然後,我之前的文章已經有對 recovery image的簡單講解,所以這里,我主要介紹一下update.zip的製作。
如果我們直接把MoDaCo ROM中的update.zip解包,我們會發現有一個boot.img,一個data文件夾,一個system文件夾,一個META-INF文件夾。這個data文件夾放的是init.rc,而本來在系統中,init.rc就是在data目錄下的。當然,兩者的作用不一樣,這里的init.rc主要作用是開機執行你希望執行的命令,比如MoDaCo的init.rc就是install busybox。
而值得詳細說明的,就是system文件夾。MoDaCo ROM版本的system下有一系列作者希望放到系統中的工具,對於apk文件,就放到app下,工具就放到bin和xbin下,依此類推。換句話說,system或者data這個目錄層次結構是取決於你自己的,你希望放的東西屬於什麼,應該運行在online系統的什麼目錄下,update.zip裡面就應該是有相應的目錄路徑,然後東西就放在裡面。
具體點,我們現在要依樣畫葫蘆,搞一個新的update.zip,那麼第一步就是首先建立一個文件夾
mkdir new-update
好,假設我新update.zip的作用就是預裝我自己的一個程序,my.apk,那麼,我建立對應的子目錄
mkdir -p new-update/system/app
cp my.apk
這樣,system目錄就完成了。但是這時,update.zip的目錄層次還沒完,我們看MoDaCo ROM中的update.zip中有文件夾叫META-INF,這個文件夾很關鍵,除了根目錄下的三個文件外,裡面層層目錄,就包括了一個文件,叫 update-script,內容如下
show_progress 0.1 0
_dir PACKAGE:system SYSTEM:
set_perm_recursive 0 0 0755 0644 SYSTEM:xbin
set_perm_recursive 0 0 0755 0644 SYSTEM:sd
set_perm 0 0 04755 SYSTEM:bin/su
set_perm 0 0 04755 SYSTEM:bin/a2sd
set_perm 0 0 04755 SYSTEM:xbin/busybox
_dir PACKAGE:data DATA
show_progress 0.2 0
format BOOT:
write_raw_image PACKAGE:boot.img BOOT:
show_progress 0.2 100
這裡面的內容,大部分是針對你要做的修改設置的。比如
_dir PACKAGE:system SYSTEM:
就是把system中新增的工具拷貝到手機上,然後
set_perm_recursive 0 0 0755 0644 SYSTEM:xbin
set_perm_recursive 0 0 0755 0644 SYSTEM:sd
set_perm 0 0 04755 SYSTEM:bin/su
set_perm 0 0 04755 SYSTEM:bin/a2sd
set_perm 0 0 04755 SYSTEM:xbin/busybox
就是設置MoDaCo ROM中新增程序的許可權,然後
_dir PACKAGE:data DATA:
把data下的內容(就是那個init.rc)復制到手機上,然後
format BOOT:
write_raw_image PACKAGE:boot.img BOOT:
刷boot分區。
那我們這里沒有這么多新增的東西,應該怎麼寫呢?
_dir PACKAGE:system SYSTEM:
set_perm_recursive 0 0 04755 SYSTEM:app/my.apk
就可以了。你當然還可以做一些別的事情,比如加一個FORMAT DATA之類的^_^開個玩笑,千萬別這個干,不然你的數據就全沒了。
好,那麼也就是說,我們要在自己的new-update目錄下也建一個/META-INF/com/google/目錄,然後把新的update-script扔進去。
完了么?差一點。其實如果你沒有別的需求了,那麼就完了,可以把下面這一小塊跳過。下面這一小塊,是關於boot.img的。在如何修改Android系統的Ramdisk以及boot鏡像文章中,我們談到,如果刷boot鏡像有問題,就要用別的方法讓系統boot我們自己的boot image了,這個別的方法,自然就是用update.zip了。MoDaCo ROM版本的update.zip也包括了一個boot.img,但是如果我們有出於各種需求自己修改的boot.img,自然就可以替換掉原來的了。當然注意,如果加了boot.img,那麼update-script裡面就不能漏掉
write_raw_image PACKAGE:boot.img BOOT:
這句。
好,到現在,我們的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
恩,那麼就進入打包階段。你可能會問,這有什麼難的,直接zip一下不就得了。如果要是這么簡單就好了,你打包後,必須把你的內容都sign一下,得到相應的cert,才能在fastboot模式中被承認並成功刷機。
在sign你的文件之前,先做這么幾件事
打包。進入update文件夾,zip update.zip xxx xxxx xxxx xxxx xxxx。什麼意思呢,就是只把你需要的文件打包,不要用./*作為參數。而且相對路徑最好是在update下面,不要在外面用zip update.zip ./update/*這種命令打包
去sun網站下載最新的
下載這個文件testsign一定要用JRE1.6.0.16或者更高,我知道這個有點惡心,但是提供下載的testsigh.jar就是按照這個版本或者更高編譯的,你用老版本就運行不了。
好,下下來以後,執行這個命令
~/jre1.6.0_16/bin/java -classpath testsign_path/testsign.jar testsign update.zip update-signed.zip
稍微講解一下,java程序是最新jre下的,testsign_path是你放testsign.jar的地方,建議放到sdk的tool目錄下。update是待sign文件,update-signed是指定的生成文件名。
sign執行完後,用unzip -l看,會發現
/META-INF/MANIFEST.MF
/META-INF/CERT.SF
/META-INF/CERT.RSA
D. CM9的CM9.0
CM9也是CyanogenMod 9.0的簡稱。
CM:CyanogenMod,是一個免費的、團隊協作發布的Android 第三方編譯ROM的簡稱。
CM5是Android 2.1的ROM
CM6是Android 2.2的ROM
CM7是Android 2.3的ROM
CM8是Android3.0的ROM
CM9是Android 4.0的ROM
CyanogenMod是一個基於開源Android系統,供某些手機使用的二級市場固件。它提供一些在官方Android系統或手機廠商沒有提供的功能 ,例如:支持Free Lossless Audio Codec - FLAC (無損音頻壓縮編碼)音頻格式的音樂,多點觸控, 從SD外置存儲器運行程序,壓縮緩存,大量APN的名單,重新啟動功能,Wi-Fi無線網路支持,藍牙,USB網路分享等。CyanogenMod也是第一個使用BFS作任務管理器的操作系統。
CyanogenMod聲稱提供比官方固件版本更高性能和更可靠。
2008年9月HTC Dream電話發布後, 一種由Android社區發現其中一個可以在Android的linux的子系統得到特權控制 rooting(也稱為 root access)的方法. 這個發現, 結合了Android開源的性質, 讓手機的固件可以隨意進行修改和重新安裝到手機。某些手機並不需要進行修改, 如Android開發手機和Nexus One, 這些用作開發用途的手機上。
現時,CyanogenMod固件是基於Android 2.2,也有大量由CyanogenMod的代碼被加入了。CyanogenMod的自定部分本來是由Cyanogen (Steve Kondik)編寫,不過加入了由xda-developers社區編寫的代碼(如已強化的主畫面, 已強化的調用程序和已強化的網頁瀏覽器)和其他的程序(如busybox)。
一個叫CyanogenMod Updater的程序提醒CyanogenMod用戶有新版本的CyanogenMod及安裝到他們的電話。用戶可以在Android Market下載該程序。
Cyanogen團隊是目前全球最大的Android第三方編譯團隊,由於該團隊曾先於google公司為很多手機 率先定製出穩定的1.6ROM而名聲大噪。CM的ROM以開源、開放、穩定著稱,仍有許多刷機發燒友使用其第三方定製ROM。 CyanogenMod
版本 Android版本 發行日期 3.1 Android 1.5 (Cupcake) 2009 3.2 2009 3.3.x 2009 3.4.x 2009 3.5.x 2009 3.6.x 2009 3.9.x 2009 4.0.x Android 1.6 (Donut) 2009 4.1.x 2009 4.2.x 2009 5.0.0 Android 2.0 / 2.1 2010-02-14 5.0.1 2010 5.0.2 2010 5.0.3.x 2010 5.0.4.x 2010-02-27 5.0.5.x 2010-03-19 5.0.6 2010-04-16 5.0.7 2010-05-25 5.0.8 2010-07-19 6.0.x Android 2.2 (Froyo) 2010-08-28 6.1.x 2010-12-06 7.1 Android 2.3.7 2011-10-11 9.0 Android 4.0 2012-03-27
E. ROM製作工具如何製作手機刷機包
具體步驟如下:
F. 如何將製作第三方rom
修改替換二進制文件,已達到某種效果和功能。(大部分ROM)需要的知識:
只要熟悉每個模塊都是干什麼的,有什麼優點和缺點,就想搭積木一樣,替換到原來的ROM中去,然後再把ROM打包就行了。這種需要的基礎知識就是:
1.要知道想要什麼效果,什麼手機或者軟體上現成就有。
2.把想要的從手機中抽離出來,放到ROM中,當然首先要解包ROM。其中需要注意linux的許可權問題,依賴問題,這裡面內涵的東西不是一朝一夕的,也沒有那麼系統的學習材料。
3.需要打包ROM,其實打包這個地方每個手機都不太一樣,所以需要學習。
G. 第三方rom什麼意思
手機的rom 相當於電腦的操作系統。第三方的rom,和你手機中現在的rom是完全一樣的。你手機的電話、簡訊、音樂、視頻等等功能都是包含在rom 中的。你將rom 刷如手機中才能擁有這些功能。
第三方的rom就是和你現在的rom 可能有少許的差異。
是平行的關系,互不相干。你手機中有官方rom便不能同時使用第三方。如果你刷了第三方的rom,現在的rom就不在了。
和電腦的操作系統一樣!
H. 想學習安卓系統開發(安卓源碼編譯和第三方rom適配等等)去哪學比較好
建議去電腦學校學習
I. 怎麼刷第三方rom
一、刷入ROM需要滿足以下兩個條件:
1.手機已經進入HBOOT中S-OFF(解鎖);
2.手機已刷入第三方recovery。
二、刷機方法及步驟如下:
第一步,先對手機的HBOOT進行解鎖(已解鎖的可跳過);
第二步,刷入recovery系統,或者說是進行recovery的升級(已刷入recovery的可跳過)
第三步,刷入ROM包:
1.首先將下載好的ROM包放入SD卡根目錄,並將ROM包更名為undate.zip;
2.手機完全關機狀態下同時按住手機【音量減】和【電源】鍵約10秒進入HBOOT界面,【音量+】【音量-】為上下選擇鍵,【電源鍵】為確定鍵;
3.進入recovery界面選擇【wipe data/factory reset】和【wipe sd-ext】。這一步主要是清除數據和緩存,以免造成數據的混亂。養成個好習慣,刷機前記得雙wipe。
4.安裝新的ROM包。回到recovery界面選擇【install zip from SDcard】,然後找到剛剛更名為update.zip的文件,按提示選擇yes便OK了,當屏幕上出現install from sdcard complete時便表示已經刷機成功;
5.返回選擇Reboot the system now手機便重啟了。第一次開機比較慢,所以請耐心等待。
J. 如何製作刷機包可不可以從手機中導出rom進行修改,編譯為刷機包
你可以藉助第三方工具進行修改,像用蘑菇rom助手
什麼的,都比較簡單,你在網上找找視頻