G1 自己定制省电&稳定&高速&美化 ROM 攻略

2011-02-06 15:52 by hackerzhou

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命令。

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包的方法是直接将文件拖进去覆盖,而不是删除再添加,否则会破坏掉一些联系,导致错误。

本文基于 署名 2.5 中国大陆 许可协议发布,欢迎转载,演绎或用于商业目的,但是必须保留本文的署名 hackerzhou 并包含 原文链接
本文暂时还没有评论,你可以抢沙发哟。

发表评论