安卓(android)系統(tǒng)固件包修改基礎教程_第1頁
安卓(android)系統(tǒng)固件包修改基礎教程_第2頁
安卓(android)系統(tǒng)固件包修改基礎教程_第3頁
安卓(android)系統(tǒng)固件包修改基礎教程_第4頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、目錄:瑞芯微 android 固件包介紹一、解包、打包二、固件升級三、固件修改1 固件精減、添加APK 軟件2 提取 Root 權限3 修改用戶分區(qū)大小4 修改設置中 “關于 MID”中的機型型號5 美化界面6. 美化桌面瑞芯微 android固件包介紹瑞芯微的 android 固件包分兩種:一種為量產(chǎn)升級包 (暫且如此稱呼吧, PS:其實稱之為開發(fā)包較為合適,因為是使用開發(fā)工具進行升級。),使用量產(chǎn)升級工具 RKAndroidTool.exe 進行升級,量產(chǎn)升級包的文件包含: HWDEF、package-file 、 parameter 、 recover-script 、 Rock28Bo

2、ot(L).bin 、 update-script 和一個 Image 文件夾,里邊又包含boot.img 、 kernel.img 、 misc.img 、 recovery.img、system.img 五個鏡像文件。 System.img 包含所有用戶資源,大部分情況下修改 system.img 文件就能達到我們的目的。本文也是重點圍繞 system.img 的修改。另一種為 用戶升級包 (也暫且如此稱呼吧),即將上述量產(chǎn)升級包的文件用工具打包成一個文件 update.img ,使用用戶升級工具 RKAndroidDM.exe 進行升級。此文件包需通過解包成量產(chǎn)升級包后才能修改,修改后再

3、打包成 update.img 進行升級。一、解包、打包對于 update.img 的解包、打包,需用到附件 “打包解包工具 ”中的 AFPTool.exe、 mkupdate.bat 、 unpack.bat 三個文件,其中 unpack.bat 為解包工具, mkupdate.bat 為打包工具。將用戶升級包update.img 和上述三個文件放在同一目錄下,雙擊unpack.bat 后,就可以將用戶升級包解包成6 個文件和一個 Image 文件夾,即和量產(chǎn)升級包完全相同的文件。此時可對相應的文件進行修改,修改完成后,再雙擊 mkupdate.bat ,會在 Image 文件夾下產(chǎn)生一個 u

4、pdate.img ,此文件就是打包后新生成的用戶升級包文件。對于 system.img 的解包、打包,需用到 cramfsck 、mkcramfs 兩個工具,此 img 文件和工具需在Linux(Ubuntu 、 RedHat 等)系統(tǒng)下操作和使用,來進行解包、打包,cramfsck為解包工具,mkcramfs為打包工具。先通過本地硬盤、盤或者 Live CD 啟動到 Linux 下( Linux 相關知識和安裝不在本篇介紹范圍內(nèi),請自行 Google ),然后將 system.img 、cramfsck 、mkcramfs 三個文件拷貝到系統(tǒng)的 root 文件夾下。(有些 Linux 系統(tǒng)

5、對掛載的其它分區(qū)或磁盤兼容性不好,所以拷貝到系統(tǒng)分區(qū)進行操作可減少出問題的可能性,本文涉及到Linux 部分的操作以BackTrack3 操作系統(tǒng)為示例。 部分人反映用Ubuntu 的精簡等版本時用不了已編譯好的 cramfsck 和 mkcramfs ,所以在教程包中又放入了一個 deb 的文件,在啟動到 Linux 后雙擊就可以像 Windows 一樣安裝它了。)打開一個 shell,在 shell 中輸入:cramfsck -x system system.img對 system.img 文件進行解包,執(zhí)行完成后,會產(chǎn)生一個名為system 的文件夾,如下圖所示:也可以采用以下方法進行解

6、包,原理就是mount 這個鏡像文件,然后再拷貝出來,命令如下:mkdir systemsudo mount -t cramfs -o loop system.imgsystemtar cvzf system.tgz systemsudo umount systemrm -r systemtar xzvf system.tgz用這個方法的好處是可以避免某種情況下出錯的可能, 第一種方法在某些情況下會造成某些文件損壞,有碰到過。解包后的 System 文件夾內(nèi)包含9 個文件夾和 1 個文件,簡單說明如下:/system/app/system/bin系統(tǒng)應用程序存放目錄系統(tǒng)的本地程序,是binar

7、y二進制的程序,里面主要是Linux系統(tǒng)自帶的組件。/system/etc /system/fonts /system/framework /system/lib /system/media系統(tǒng)的配置文件,比如APN 接入點設置等核心配置。字體文件夾。主要是一些核心的文件,從后綴名為jar 可以看出是系統(tǒng)平臺框架。存放的主要是系統(tǒng)底層庫,如平臺運行時庫。鈴聲音樂文件夾,除了常規(guī)的鈴聲外還有一些系統(tǒng)提示事件音/system/usr用戶文件夾,包含共享、鍵盤布局、時間區(qū)域文件等。/system/xbin存放系統(tǒng)管理工具,他們都是為系統(tǒng)管理員準備的,是一些系統(tǒng)管理和配置工具。/system/buil

8、p屬性文件, “關于 MID ”中所顯示的軟件版本、內(nèi)核、機型等信息。通過上面進行簡單的介紹,相信你已有了一個大概的了解了。此時可對 system 文件夾下的文件進行其它修改了,比如提取 root 權限、固件精減、 APK 替換修改等操作。修改完成后,需要對system 文件夾進行打包,在shell 中輸入:mkcramfs system system02.img(為了便于區(qū)分原先的img 文件,所以建議重新生成的文件不要與原文件名一樣。)此時會在 root 目錄下生成一個新文件 system02.img ,這個文件就是我們修改好并重新打包 OK 的文件了。此時,對于 update.

9、img和 system.img 兩個文件的解包、打包操作就介紹完了。對于system.img 和相應的文件是否需要打包成用戶升級包update.img就看各位是否有需要了。二、固件升級固件升級有兩種工具可實現(xiàn)(其實還有第三種升級即通過 MID 本機進行升級, 不過需要原生軟件和硬件支持才可以實現(xiàn),目前發(fā)現(xiàn)上市的機子還無此功能。所以略過),即量產(chǎn)升級、用戶升級。-量產(chǎn)升級: 將量產(chǎn)升級包的6 個文件和一個文件夾,放入./ 升級工具 / 量產(chǎn)升級工具_RKAndroidTool/rockdev文件夾下,然后打開量產(chǎn)工具RKAndroidTool.exe ,如下圖所示:(如有需要勾選果你的 MID

10、沒有Loader 、Backup 選項,對于軟件跨版本較大或修改過分區(qū)等情況可勾選Recover 功能, Backup 選項無需勾選。題外話太多了,現(xiàn)轉(zhuǎn)移到正題。)Loader ,如關機狀態(tài)下長按 ESC鍵或菜單鍵(視機型而定,具體請自行查找相應信息)的同時連接 PC,按提示安裝驅(qū)動 ( 首次使用 ),驅(qū)動路徑指向 . / 升級工具 /rk28usb Driver ,安裝好驅(qū)動后按 “執(zhí)行 ”即可完成升級。注意:如果是Vista、Windows7系統(tǒng)需用管理員權限運行本工具,否則會提示“測試設備失敗 ”,造成升級失敗。用戶升級:打開用戶升級工具RKAndroidDM.exe ,如下圖所示:點擊

11、 “”按鈕,選擇電腦中要升級的用戶升級文件 update.img ,然后按量產(chǎn)升級的方法連接你的 MID ,提示找到設備后按 “升級 ”按鈕進行升級,完成后提示 “升級成功 ”后拔掉 USB 線重新開機即可。三、固件修改前面講解了那么多了,前戲應做的很足了,現(xiàn)在開始介紹各位同鞋最為關心滴事、最最為想做滴事情,我再次手把手滴開始教各位同鞋鳥,希望能和大家一起達到目的,沖向高潮。吼!,固件精減、添加APK 軟件將 system.img 解包,解包后將 ./system/app 目錄下的不需要的 APK 文件進行刪除、修改、替換,以制作適合自己的固件包,對于 app 目錄內(nèi)不清楚用途的 APK 文件

12、,請勿隨意刪除,以免引起不必要的問題。注意:據(jù)說個別APK 軟件需自帶的庫文件支持才能正常運行,此時可用WinRAR 等壓縮軟件將APK文件打開(將 .apk 后綴改成 .zip,然后用壓縮軟件打開即可),從里邊找到后綴為 .so 的文件,然后放入./system/lib 文件夾下即可。修改完成后,然后進行打包、升級、測試。,提取 Root權限將 system.img 解包,解包后將 “取 root 權限文件 ”目錄中的 Superuser.apk 、su 兩個文件分別放進下列目錄:Superuser.apk -> ./system/appsu -> ./system/bin打開一

13、個 shell,然后用 chmod 6755 修改文件的權限,如圖示。Chmod 6755 /system/app/Superuser.apkChmod 6755 /system/bin/su上述命令需注意大小寫,否則有可能會出錯。修改完成后打包即可。我開始在驗證過程中, 因使用了較老的root explorer版本根本不能進入資源管理器,于是更換了最新版 V2.94 ,是能進資源管理器界面了,但是卻不能修改或刪除system 下的文件,可能有人會懷疑這是否真正的取得了root 權限?我可以很負責的告訴你,已經(jīng)取得了root 權限,因為運行drocap2類 root 權限的軟件是灰常正常滴。這

14、嗯,其實這里又涉及到一個專業(yè)知識了,請坐好捏,哎,后面那位同鞋別看別人了,說的就是你。現(xiàn)在仔細聽我講解:瑞芯微 android 系統(tǒng)固件的 system 分區(qū)采用的是cramfs 文件系統(tǒng)。cramfs 文件系統(tǒng)是一個壓縮式的文件系統(tǒng),它并不需要一次性地將文件系統(tǒng)中的所有內(nèi)容都解壓縮到內(nèi)存之中,而只是在系統(tǒng)需要訪問某個位置的數(shù)據(jù)的時侯,馬上計算出該數(shù)據(jù)在cramfs 文件系統(tǒng)中的位置,將其實時地解壓縮到內(nèi)存之中,然后通過對內(nèi)存的訪問來獲取文件系統(tǒng)中需要讀取的數(shù)據(jù)。cramfs文件系統(tǒng)中的解壓縮以及解壓縮之后的內(nèi)存中數(shù)據(jù)存放位置都是由cramfs文件系統(tǒng)文件系統(tǒng)本身進行維護的,用戶并不需要了解具

15、體的實現(xiàn)過程,因此這種方式既方便,又節(jié)省了存儲空間。cramfs 文件系統(tǒng)的數(shù)據(jù)都是預先經(jīng)過處理、打包的,這種系統(tǒng)是一種只讀、 不支持寫操作的文件系統(tǒng),在刷到機器里后,這個分區(qū)就是只讀的,不能做任何更改。所以,刷機后是不能對這個系統(tǒng)進行修改的,只能在刷機前對 system.img 進行解包、修改,以達到我們的目的。 , 修改用戶分區(qū)大小部分同鞋使用了MID 一段時間后,就會為用戶區(qū)空間太小裝不了幾個軟件而發(fā)愁,其實,你不用發(fā)愁,只要稍稍修改一下兩個文件就可以將分區(qū)加大?,F(xiàn)在出產(chǎn)的MID 一般都是配備2GB 以上的內(nèi)存,劃個幾百 M 至 1G 都不會太影響本機使用的,再者現(xiàn)在 TF 卡那么便宜,

16、都是標配 24G 以上的容量了。所以即便將用戶區(qū)再劃大些都不會有太大的影響。(題外話:還有同鞋在尋找APP2SD 的功能,個人建議不如修改一下這兩個文件,將用戶區(qū)劃大一些來得實在,一來在本機上讀取軟件穩(wěn)定性會高些,二來不會因TF 卡的問題導至軟件出問題嘛?。┭詺w正傳:將用戶升級包 update.img 解包(如果已經(jīng)是量產(chǎn)升級包,略過此解包操作),找到其中的 HWDEF、parameter 兩個文件并備份。再用 UE(UltraEdit32 ,其實用記事本也可以,不過看起比較亂)修改兩個文件的分區(qū)偏移量和分區(qū)大小,是以 16 進制表示,前一個分區(qū)的偏移量和大小加起來就是后面一個分區(qū)的偏移量,

17、我們需讓用戶分區(qū)增大, 所以只修改用戶分區(qū)即可, 只需修改 userdata 、 user 兩個分區(qū)的偏移量和大小即可。A修改 HWDEF 文件:用 UE 打開 HWDEF,找到如下部分的代碼(請注意紅色部分數(shù)據(jù)):mtd_id=rk28xxnand#Format: part_name offset:sizeparameter 0x00000000:0x00001000:fhmisc 0x00001000:0x00001000:fkernel 0x00002000:0x00003000:fboot 0x00005000:0x00002000:frecovery 0x00007000:0x000

18、03000:fsystem 0x0000A000:0x0001E000:fbackup 0x00028000:0x00026000:cache 0x0004E000:0x0001E000:userdata 0x0006C000: 0x0001E000 :user 0x0008A000 :0xFFFFFFFF:END簡單解釋一下,上面的 userdata 分區(qū)表示:偏移量為 0x0006C000 ,分區(qū)大小為: 0x0001E000 ,比如我們需將使用空間由原來的 123M 增大一倍到 246M,即 0x0001E000 0x0001E000 0x0003C000 ,那么,下一個分區(qū) user

19、的偏移量就變成 6C000 3C000 0x000A8000 ,修改后新的數(shù)據(jù)如下:userdata 0x0006C000:0x0003C000 :user 0x000A8000 :0xFFFFFFFF:修改后保存。對HWDEF 的修改完成了。B 修改 parameter文件再用 UE 打開 parameter ,找到最后一行,其部分代碼如下:CMDLINE: noinitrd c,115200n8n androidboot.c init=/init root=/dev/mtdblock2mem=128M0x60000000mtdparts=rk28xxnand:0x000010000x000

20、01000(misc),0x000030000x00002000(kernel),0x000020000x00005000(boot),0x000030000x00007000(recovery),0x0001E0000x0000A000(system),0x000260000x00028000(backup),0x0001E0000x0004E000(cache), 0x00040000 0x0006C00 0(userdata),- 0x000AC000 (user)此段代碼 前面表示分區(qū)大小,后面表示偏移量。 userdata 前面的 6 個分區(qū)大小和偏移量都能和HWDEF 文件中的一一

21、對應起來,但userdata 的分區(qū)大小明顯要大很多,暫不明白為何要加大一些。查看過幾個不同機型的這些文件,大小也有差距,在22000-62000 ( 16 進制)之間 ; 為了不出問題,我們也依照那樣做吧,所以我們也在userdata 空間的大小上面也加上22000 至 62000 之間的一個數(shù)值吧。所以,此處userdata的分區(qū)大小為:3C000(擴容后的分區(qū)大?。?22000= 5E000,那下一個分區(qū) user 的偏移量也變成了:5E000 (新分區(qū)大?。?+6C000 (偏移) = CA000。修改過的數(shù)據(jù)如下:0x0005E000 0x0006C000(userdata),-0x

22、000CA000 (user)修改后保存。對 parameter 的修改也完成了。用剛才改好的兩個文件替換原先的兩個文件,然后重新打包、升級。不同機型分區(qū)大小可能會有差別,所以附件中放有原始的和修改好的兩個文件,以供參考!此文件僅供參考,請勿直接替換,出了問題概不負責!,修改設置中“關于 MID” 中的機型型號將 system.img 進行解包,解包后在system 文件夾下找到p將 p 文件用 UE 打開,找到 duct. model=sdkDemo 一行,將其中的 sdkDemo 改成你想要顯示的文字,比如 BM999 ,修改后保存,然后重新

23、打包燒錄即可。5 ,美化界面這個又涉及到 APK 文件的修改了,這部分的教程就不作過多的介紹了,有需要的同鞋可以上網(wǎng)去 Google 下相關資料,大把的教程可供參考。將 system.img 進行解包,解包后在 ./system/framework 文件夾下找到 framework-res.apk ,將 .APK 后綴改名為 .zip,然后將其中的 assets 、res 兩個文件夾解壓出來開始我們的美化工作。要注意修改后的圖片分辨率大小和圖片格式要與原來保持一致,否則會出錯的哦。A 界面美化找到解壓后的下列兩個目錄, 這兩個目錄存放所有界面的系統(tǒng)圖標, 可對需要修改的界面小圖標進行美化:./framework-res/res/drawable./framework-res/res/drawable-landB 修改開機LOGO (Android 啟動時,出現(xiàn)閃動的ANDROID 字樣的動畫圖片)Android的系統(tǒng)登錄動畫類似于Windows 系統(tǒng)的滾動條,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論