安卓系統(tǒng)的ROM大體可分為“官方版”和“非官方版”兩種,“非官方版”比較繁雜,當(dāng)看到自己比較滿意的ROM,卻因?yàn)闄C(jī)型不同或其他原因而無法直接使用,這時(shí)候就要進(jìn)行“移植”!以移植CM7為例。
移植準(zhǔn)備
- 你所使用機(jī)型必須有CM7
- 對(duì)方機(jī)型分辨率和自己機(jī)型分辨率相同
- 需要懂得刷機(jī),以及遇到問題能自己解決的能力。
- 具有一定的ROM修改基礎(chǔ)
步驟方法
- 移植方法:
①備份你現(xiàn)在所使用機(jī)型的CM7
②解壓CM7,不同機(jī)型CM7可能解壓后的文件和文件夾都可能不同,但肯定會(huì)有system目錄,進(jìn)入system文件夾,刪掉app和framework兩個(gè)文件夾,包括里面所有文件
③下載你需要移植的ROM,解壓后將system目錄下的app和framework文件夾復(fù)制到自己機(jī)型CM7的system目錄下(前提是對(duì)方機(jī)型此ROM沒有做odex優(yōu)化,如果做了odex優(yōu)化的,解決方法后面會(huì)提到)
④現(xiàn)在你可以打包你新做的CM7為zip了,如果你機(jī)型使用的recovery必須驗(yàn)證簽名才能刷入,那么使用簽名工具為新的zip包簽名,反之不用。
⑤刷入手機(jī),如果能開機(jī),那么恭喜你,但成功開機(jī)不一定代表能夠完美使用,或許會(huì)有某些程序FC現(xiàn)象,那么,哪里出錯(cuò)就修改包里的哪些文件,比如電話報(bào)錯(cuò),那么可以置換為你機(jī)型原版CM7中對(duì)應(yīng)的電話相關(guān)程序等。總之,調(diào)試過程是非常重要的。
⑥如果不能正常開機(jī),卡第一屏或者卡在開機(jī)動(dòng)畫,那么提取對(duì)方機(jī)型ROM中system/lib/libandroid_runtime.so文件替換掉新作的rom中對(duì)應(yīng)文件,此文件是android運(yùn)行時(shí)庫,由于CM7版本不定期更新,版本發(fā)布時(shí)間相差較長的話這個(gè)文件將不通用。
⑦替換后重新打包,應(yīng)該能開機(jī)了,開機(jī)可能性是非常大的,因?yàn)槎际腔贑M7制作的,只是應(yīng)用和框架不同。
- odex機(jī)型移植方法
如果遇到對(duì)方機(jī)型已做odex優(yōu)化,那么需要用到odextools工具來deodex處理。此工具使用方法,非常簡(jiǎn)單。
①將下載的工具解壓,進(jìn)入romdir文件夾,將對(duì)方機(jī)型解壓后的system整個(gè)目錄復(fù)制到romdir中
②現(xiàn)在運(yùn)行軟件中的odextools.bat,按數(shù)字3,進(jìn)行framework中jar文件的deodex處理
③以上處理完畢后,選擇數(shù)字1,進(jìn)行app中apk文件的deodex處理
④將處理完畢后的app和framework目錄復(fù)制到自己機(jī)型CM7中替換原來文件
⑤ROM打包刷入測(cè)試。
以上是以CM7為例,大體介紹移植方法。