G1定製攻略

原文出自:http://hackerzhou.me/2011/02/custom-g1-rom-faster-save-power-stability-beautify.html

G1是Google試水手機系統推出Android的第一款手機,意義空前,而且由於全鍵盤的確很方便,我就一直沒有換手機。當然,G1的內存和CPU比不上後來搭載Android的各款手機,運行速度受機器硬件限制嚴重。本文就是要對G1 ROM進行自定義的定製,並把方法和思路寫出來,大家也可以定製自己的系統 :) 。其實1月份就做好了,在自己手機上跑了一個多月,感覺穩定性和省電效果比之前好了很多。等有空了嘗試自定義一個2.1的ROM玩玩~

hackerzhou自定義版G1 ROM下載地址:
感興趣的朋友可以刷刷看,提點建議 :)
http://hackerzhou.googlecode.com/files/cm-4.2.15.1-geesunmod-modified-signed.zip

關於Android系統版本選擇:
我選擇了Android 1.6,雖然G1跑Android 2.1也很流暢,但是我發覺2.1的ROM比1.6的費電不少,應該是內核比較消耗資源。因此,就算1.6會遇到一些軟件的兼容性問題,考慮到省電因素還是採用了1.6。

1.6 ROM選擇:
有幾個標準:
1. 對中文支持性好(一些老外做的ROM沒有本地化/本地化不完全的直接就被排除了)
2. 速度快,附加軟件少,但是一定要有Google系列軟件,拒絕閹割版
3. 省電
於是就用蛋總的CM 4.2.15.1了,感覺還是相當不錯的,向蛋總致敬!
蛋總做的原版下載:http://kugou.me/donut/cm-4.2.15.1-geesunmod.zip

關於系統提速:
本改造並沒有牽涉到內核層面,只是對外圍的service和app進行減肥。大家都知道,響應速度和可用物理內存的大小有着直接的關係。一旦內存不足,會觸發page fault,把不用的page寫回swap分區並從swap分區讀取需要的page,其中IO的代價是非常大的。而且,如果可用內存太小會直接導致程序啓動失敗(iOS下出現的程序打開後直接關閉的情況的可能原因之一)。我採用的思路是:儘量精簡ROM內的apk程序,特別是一些常駐內存的services。儘量避免讀取sd卡內容也是我認爲的提速的關鍵,把因此我也把鈴聲和壁紙打包進ROM。

自動軟件安裝包:
刷好ROM之後自然就是要裝軟件了,相比大家也厭煩了一個一個安裝,其實藉助一個批處理配合adb接口就能爲我們節省掉很多時間,遍歷子目錄,尋找apk,然後執行adb install命令。

1
2
3
4
5
6
7
8
9
10
11
12
set WORK_PATH=%cd%
"%WORK_PATH%\adb"; devices
"%WORK_PATH%\adb"; remount
 
cd %WORK_PATH%
for /f "delims=" %%a in ('dir data /AD /B /S') do (
    cd %%a
    for /f "delims=" %%b in ('dir *.apk /B') do (
        "%WORK_PATH%\adb" install %%b
    )
)
cd %WORK_PATH%

軟件包下載地址:http://hackerzhou.googlecode.com/files/G1_1.6_apk_autoinstall_package.rar

自定義內容:

  1. 精簡系統app(系統app指的是打包在ROM中/system/app/中的一系列apk,無法進行常規卸載,只能刪除文件來卸載)
    刪除:
    FilePicker.apk
    kickback.apk
    PicoTts.apk
    soundback.apk
    Stk.apk(SIM ToolKit,如果有聯繫人或者短信存在SIM卡的慎刪)
    Street.apk
    talkback.apk
    TtsService.apk
    VoiceDialer.apk
    VoiceSearch.apk
    WorldClockWidget.apk
    YouTube.apk
    刪除/data/app/Mail.apk和/data/firstboot.sh和/system/etc/init.d/03firstboot (爲了一個雞肋的郵件功能,反正我用Gmail)
    替換:
    高級計算器 ​​​​​=> Calculator.apk
    谷歌地圖4.5.1 => Maps.apk
    adw launcher 1.2 => Launcher.apk(adw launcher 還是很讚的)
    handcent 3.2.9 => Mms.apk(高版本整合進去會出錯,我採用了安裝後再刪除的方法)
    新增:
    RootExplorer.apk(帶Root功能的資源管理器,很強大,必備利器)
  2. 用微軟雅黑替換默認字體
    將字體文件改名爲DroidSansFallback.ttf替換/system/fonts/DroidSansFallback.ttf文件。
  3. 自定義運營商顯示名稱
    打開/system/etc/mobile-conf.xml文件,找到對應的項目,把MobileName改成自己自定義的運營商顯示名稱。
  4. 修改默認背景
    解壓/system/framework/framework-res.apk定位到res\drawable,替換默認的桌面default_wallpaper.jpg。
  5. 修改開機第二屏
    解壓/system/framework/framework-res.apk定位到assets\images,修改android-logo-mask.png和android-logo-shine.png,所謂動態效果就是一個mask在鏤空的圖片裏移動,因此mask的高度要和shine的一樣,寬度是shine的兩倍(大家yy下就知道爲什麼了)。注意,圖片不能太大,太大的話會出現一片白,好像寬度的最大值我試下來是256像素。大家可以PS出屬於自己的開機動畫。
  6. 修改開機第一憑
    這個修改不是在ROM中進行,需要用fastboot刷,具體步驟搜索機鋒網就可以搞定。
  7. 刪除多餘的鈴聲,增加自定義鈴聲定位到/system/media/audio/文件夾,會發現有四個子文件夾:alarms,notifications,ringtones,ui,看名字就知道是幹啥的了。
  8. 修改hosts文件
    打開/system/etc/hosts,增加了幾個沒有被牆而且速度不錯的Google服務器,電子市場/GTalk/Gmail/地圖等都正常工作。
  9. 德版鍵盤補丁
    由於我的G1是T-Mobile德版,因此y/z是反的,而且部分符號也會錯亂,因此需要打鍵位映射的補丁。將補丁拷貝到/system/usr/keychars/和/system/usr/keylayout/,替換原來的文件。
  10. 修改系統版本信息
    打開/system/build.prop做類似“ro.modversion=CM_4.2.15.1_modified_by_hackerzhou”的修改。
  11. 最後還要給修改過的ROM簽名,不簽名可是刷不進去的喲,簽名方法的話在各個論壇也很容易搜到。
注:
1. apk文件其實也是zip文件,用類似7-zip的壓縮工具就能打開。
2. framework-res.apk文件修改過之後不用再簽名,因爲只是資源打包,簽名反而會出錯。
3. 修改ROM包/apk包的方法是直接將文件拖進去覆蓋,而不是刪除再添加,否則會破壞掉一些聯繫,導致錯

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章