SlideShare a Scribd company logo
Android ROM 定制简介
石长江
随着 Android 智能手机的快速流行,Android ROM 定制一词也越来越多的映入一般用
户的眼帘。
究竟什么是 ROM,什么是定制,为什么这么多人要做 ROM 定制,对手机用户和厂商
都有哪些好处?本文就由浅入深,聊聊 Android 上 ROM 定制的话题。
一、Android ROM 是什么
Android 手机和所有的手机一样,都有 ROM。那什么是 ROM?俗称的 ROM 就是手
机出厂时内置的完整软件包。
ROM 是在手机生产厂的 SMT 生产线上,通过烧录方式,成批灌入手机上的存储芯片
中的。
一般情况下,这个出厂的 ROM 永远不会被修改,直到手机报废。传统的绝大多数手
机,都是如此,不管是 Nokia、Samsung、Moto 这样的品牌手机,还是国内大量采用 MTK、
展讯平台的山寨手机;出厂烧录的 ROM 版本,决定了该手机的基本功能,用户只能修改设
置,不能像 PC 那样,不喜欢 Windows 就自己重装个 Linux,让软件彻底变身。
为了满足手机用户不断增长的多样性需求,提高竞争力,手机(平台)厂商为也想出很多
方法来改变出厂就固定死的软件系统,如封闭系统通过 J2ME;MTK、展讯通过 VRE、WRE
等中间件;微软推出的 WM 系列。这些方法都可以让用户动态安装、卸载应用,逐渐成为
feature phone 时代的主流。
以上方式,不会对系统 ROM 做任何修改。更为关键一点,以往这些手机软件更新,
都是由手机(平台)厂商主导,基本都是封闭不开源的,开发人员和手机玩家无法对手机进行
深度定制。
这一切,随着 Google 推出的 Android 手机操作系统,发生了显著改变。用户若不喜欢
原厂的软件,可以像 PC 那样,彻底大换血,装个自己喜欢的,甚至可以把出厂的 Android
手机刷成 WP7 系统。Android 系统本身开源,意味着你可以独立修改系统的所有代码。加
上 HTC 等厂商,不断放出每一款机型的源代码,让专业第三方团队可以独立为用户升级服
务,甚至先于原厂商,推出新版的 Android 系统。
下一节就典型的 Android ROM 结构进行剖析,使大家对 ROM 有直观的感受。
二、Android ROM 剖析
1、Android 系统文件夹结构
一个完整的 ROM 根目录会有以下几个文件夹及文件:
/data
/META-IN
/system
boot.img
系统目录说明
1. 应用程序安装目录
1) 系统应用程序所在目录
/system/app/*.apk
2)用户安装应用程序所在目录
/data/app/*.apk
3) 注意:
a)在模拟器中,每重启一次,/system/app/下的应用都会被还原,有时/data/app 下也会被清除
b)若在/system/app 和/data/app 下有重名的应用,不一定会启动哪一个,尤其是在 adb install
杀死正在运行的程序时,有时旧的就会被启动
2.用户数据所在目录
/data/data/应用包名/shared_prefs 配置文件
/data/data/应用包名/databases/* 库文件所在目录
3. SD 卡对应目录
/sdcard/
而定制需要处理的只是两个文件夹里面的内容:
data/app –该文本夹里的文件可以全删,也可以自由添加自已所需安装的应用软件,刷机安
装后可以自由删除。
system/app –在这个文件夹下的程序为系统默认的组件,可以看到都是以 APK 格式结尾的文
件,但有些自制的 ROM 里面还有和 APK 文件名对应的 odex 文件。定制主要是针对该文件
夹里的文件进行精简,如果有 odex 文件的,删除 APK 文件名时同时也删除与其对应的 odex
文件。
虽然一般定制时只是对以上两个文件夹里的文件做相应的增减,但我们还是一起来了解
system 相应目录相应文件的用途。(rom 版本不同里面的 APK 也会不一样)
/system/app 目录:
这个目录下存放的就是 ROM 自带的应用程度,也就是我们通常说的“系统程序”,主要是
ROM 的制作者按照普遍用户的需要放进去的。另外,常见的 Google 服务都在这个目录下面。
/system/bin 目录:
这个目录下的文件都是系统的本地程序,从 bin 文件夹名称可以看出是 binary 二进制的程序,
里面主要是 Linux 系统自带的组件,
/system/etc 目录:
从文件夹名称来看保存的都是系统的配置文件,比如 APN 接入点设置等核心配置,hosts 网
络 DNS 缓存等。
/system/fonts 目录:
这个目录下存放的是 ROM 的字体文件,最重要或最经常修改的是 DroidSans.ttf 和
DroidSansFallback.ttf 这两个字体,前者是英文字体,后者是中文字体。通常修改字体就是
修改这两个字体,如果是刷 ROM 后再修改为自己喜欢的字体,可使用 RE 管理器。
/system/framework 目录:
framework 主要是一些核心的文件,从后缀名为 jar 可以看出是是系统平台框架。
/system/lib 目录:
lib 目录中存放的主要是系统底层库和第三方应用支持库,如平台运行时库和 webkit。
/system/media 目录:
该目录下有一个子目录和一个文件:
文件 bootanimation.zip 是开机动画,就是开机第二屏。
子目录/system/media/audio 存放的是音频文件,比如铃声、闹铃声、提示音、操作音等:
/system/usr 目录:
用户文件夹,包含共享、键盘布局、时间区域文件等。
再看目录/META-INF 目录下的内容:
通常来说会有 CERT.RSA 和 CERT,SF 两个文件,有时候会有 MANFEST.MF,还有一个
/META-INF/com 子目录。子目录 com 有两个脚本 update-binary 和 updater-script,不要去动
它们:
关键的文件是 CERT.RSA 和 CERT.SF 这两个文件。这两个文件其实也是我们不需要修改的,
这里提到它们,是因为我们修改 ROM 后需要重新打包自己定制完的 ROM,而且要用这个
定制完的 ROM 去生成一个可以用来刷的 ROM。也就是通常所说的签名。签名就是要重新
生成属于我们自己定制的 ROM 的这两个文件。
更详细的目录、文件说明,可以参见
(1)Android 平台 ROM 的定制及精简教程。
(2)定制属于自己的 Android Rom。
了解 Android 系统文件夹结构和相应文件的作用后,我们下一步可以开始定制工作了。
三、ROM 定制流程
(1) 简单定制
这种 ROM 定制基于特定机型已有的 ROM 包 基础上,删除、增加 APK,修改资源,然
后再签名、打包后生成的新 ROM。
1、下载相应的 ROM
2、下载签名工具,并且解压。我这里解压成生的文件夹名为:“APKMake”。工具可以上网下
载。
3、把 ROM 内的所有文件用 WinZip 或是 WinRAR 解压到某一文件夹,为教程容易明白,
我将这文件夹在这里起名为“NewsROM”,你自已喜欢怎样起名都无所谓。
4、进入 NewsROM 文件夹,再进入 dataapp 目录,看这里是否有你所需的程序,不需要的
请删除。你还可以添加你需要的默认安装软件。如:搜狗输入法,只需要把 SogouIme.apk
文件直接拖放到压缩包dataapp 目录内即可。
5、进入 NewsROM 文件夹,再进入 systemapp 删除你不想要的组件、或是添加你需要的组
件。由于有一些组件与其它组件是有依赖的,所以删除时请注意。但也不要怕,如果你删除
的组件不对,刷机时最多是无法进入系统,你用完整 ROM 重新刷一次既可。一般不会变成
砖的。
6、自动签名流程
删除、添加软件完毕,然后把 ROM 文件夹(NewsROM)拖动到 APKMake/APKMake.bat 即
可(重新打包、自动签名)。在 APKMake 目录里打包签名完成后自动会生成 NewsROM.zip
(刚才文件夹起名不同,这里生成文件名也不同),这个就是我们已精简的 ROM 了。
手动签名流程
我们基于某个 ROM 定制属于自己的 ROM 后,即使重新打包成*.zip 文件,也是刷不上的。
因为刷机的过程中会验证签名,而修改后的*.zip 文件和原来的签名文件(/META-INF 目录
下的 CERT.RSA 和 CERT,SF 这两个文件)已经对不上号了。
所以,签名就是为了重新生成 CERT.RSA 和 CERT,SF 这两个文件。引用网上看到的一句话
是:“我们这步的意义相当于对里面的程序/内容进行一次点名,避免‘货不对版’。”
网上流行的签名工具都是 Windows 下的签名工具 AutoSign(注:签名工具需要 Java1.6 支持,
所以系统还得有 JRE1.6 的环境),使用方法网上可以轻松查到。
(2) 高级定制(CM, XDA, MIUI)
这种 ROM 定制基于源码编译,需要有完整的 Android 手机开发环境,可以修改、编译、
生成包括 BSP 在内的 Android 系统所有 code。它和简单定制最大区别是要从无到有,新生
成一个 ROM 包。
除了可以免费得到 Android SDK 开发包,针对具体的机型,还必须要有具体的驱动程序
来适配具体的机型硬件(CPU,RF,屏幕,Sensor 等)。在 CyanogenMod(简称 CM),XDA
系统出现以前,对于市场上不同厂商的手机,底层驱动差异很大,独立开发者难以一一去做
BSP 适配,更难以保证机型的稳定。第三方高级定制难度很大。
CM,XDA 系统出现后,针对不同手机的 BSP 适配已得到快速、稳定的解决。没有 CM,
会让市面上可以使用第三方 ROM 的机型大大缩小。这是体现 CM 类价值的地方。
小米的 MIUI 就是站在牛人 CM 肩膀上深度定制的典型样板。他们的 MIUI ROM,就是
基于 CM 最新版本,不用再关心底层的 BSP 驱动,把主要精力放到了用户体验的深度修改
上。
具体以小米 MIUI ROM 的制作为例:
<1> 安装 CM 开发环境(wiki);
<2> git 下载 CM 最新版本源码;
<3> 加入小米自己的修改;
<4> 编译,打包成某个具体机型的 MIUI ROM 升级包,发布。
从 MIUI ROM 来看,大幅度修改了 Android 源码,主要的控件 UI 风格偏向 iOS。从用
户易用性考虑,彻底修改了桌面 Home、电话、电话簿、信息、浏览器、播放器、设定等原
生应用,新增了流量管理、权限管理、主题更换、OTA 升级等模块。看得出小米做了大量
的努力工作。据说近 30 个工程师,埋头苦干一年,而且都是有经验的主。
不管哪种定制方式,最后都是生成一份 ROM,通过 Recovery 或者 Fastboot 方式刷入
手机。
四、ROM 定制对 的影响 意义
自 CM 7.0 发布以来,为超过 30 款设备带来了 Android 2.3 版系统,到 2011 上半年为止
根据官网统计,CM 7 总下载量已经超过 22 万。安装量最大的机型为 HTC Desire。这些仅
为官方能统计到的准确数据,并不包括基于 CM7 进行二次修改优化的版本如小米,否则其
数量会更大。
1. 对手机用户是 好处多多
优点不必赘言,根据个人喜好,自由选择软件,摆脱原厂手机系统的限制。哪怕原厂不
再升级维护,也可以找到升级的途径。
缺点刷机一般失去质保。无论如何,给用户开启了选择的大门。
2. 对手机厂商是 喜忧参半
优点是搭好硬件平台后,可以借助第三方之力在上面深耕,充分利用了硬件特性,延长
了手机的有效使用生命周期。第三方 ROM 一般都会选择市场普及度高的机型,被选中被关
注相当于免费广告,厂商乐见其成。
缺点是在移动互联网的时代,手机厂商原来内置的那些期望带来用户黏性的应用链会被
轻易替换,沦为 PC 时代那种纯硬件厂家的危险,出货量少的更面临淘汰的命运。
很多厂家把应用链产品从手机中独立出来,说明已经开始应对。
3. 对运营商是 个机会
移动互联网时代不想沦为流量管道的运营商,其实一直很重视终端。从 CMCC 的 OMS,
到 UNICOM 的沃 phone 平台。无不投入巨大,抢着布局终端产业链。
从整个开发->生产->终端用户链来说,第三方 ROM 不用像 OMS 和沃 phone 那样搞得这
么复杂,也可以实现运营商的深度定制需求,时间和成本相对少了很多。
长期困扰运营商的终端问题:用户投诉分析跟踪处理,客服私人服务化、专家化,统一
配置管理,增值应用推送等等。都可以利用定制 ROM 来解决,同时树立更强大的品牌形象。
我想运营商如何利用这个机会,是门学问。
4. 对独立第三方开发 Team 是 片蓝海
巨大的装机用户量自然带来无限的商业机会,是所有人追求的目标。
第三方 Android ROM 是比浏览器更底层的入口,可以嵌入各种合作伙伴的应用,可以
与手机厂商合作收取授权费,或者用免费换用户量,打造自己的移动互联网应用产业链,内
容、应用、服务、资讯都是可以尝试的不错方向。
追求极致的用户体验,做到稳定高效,并且够简单是开发第三方 ROM 的目标。
这方面,除了民面的高手团队,也已经有商业公司参与进来。
(以上为原创,部分图片文字引自相关参考链接。)
2011-10-12
raisemobile@gmail.com

More Related Content

Viewers also liked

Hello Fashion Bemutatkozó Anyag
Hello Fashion Bemutatkozó AnyagHello Fashion Bemutatkozó Anyag
Hello Fashion Bemutatkozó Anyag
Eszter Papai
 
Transportation to Halong Bay
Transportation to Halong BayTransportation to Halong Bay
Transportation to Halong Bay
Indochina Junk - Halong Bay cruise
 
OpinionWay - Corse Matin - France 3 Corse - RCFM - La situation politique à...
OpinionWay - Corse Matin - France 3 Corse - RCFM -   La situation politique à...OpinionWay - Corse Matin - France 3 Corse - RCFM -   La situation politique à...
OpinionWay - Corse Matin - France 3 Corse - RCFM - La situation politique à...
contactOpinionWay
 
Una mente dos cerebros
Una mente dos cerebrosUna mente dos cerebros
Una mente dos cerebros
dafnetaroppio
 
Ofimatica
OfimaticaOfimatica
Ofimatica
Aylin Alvarez
 
Analisis Demanda
Analisis DemandaAnalisis Demanda
Analisis Demanda
Laura Casillas
 

Viewers also liked (6)

Hello Fashion Bemutatkozó Anyag
Hello Fashion Bemutatkozó AnyagHello Fashion Bemutatkozó Anyag
Hello Fashion Bemutatkozó Anyag
 
Transportation to Halong Bay
Transportation to Halong BayTransportation to Halong Bay
Transportation to Halong Bay
 
OpinionWay - Corse Matin - France 3 Corse - RCFM - La situation politique à...
OpinionWay - Corse Matin - France 3 Corse - RCFM -   La situation politique à...OpinionWay - Corse Matin - France 3 Corse - RCFM -   La situation politique à...
OpinionWay - Corse Matin - France 3 Corse - RCFM - La situation politique à...
 
Una mente dos cerebros
Una mente dos cerebrosUna mente dos cerebros
Una mente dos cerebros
 
Ofimatica
OfimaticaOfimatica
Ofimatica
 
Analisis Demanda
Analisis DemandaAnalisis Demanda
Analisis Demanda
 

Similar to Customizing Android rom

Miui rom porting tutorials
Miui rom porting tutorialsMiui rom porting tutorials
Miui rom porting tutorialsNikhilesh Kumar
 
Miui+rom trans
Miui+rom transMiui+rom trans
Miui+rom trans민우 이
 
行動商務 - PhoneGapBuild and Upto Market
行動商務 - PhoneGapBuild and Upto Market行動商務 - PhoneGapBuild and Upto Market
行動商務 - PhoneGapBuild and Upto MarketMy own sweet home!
 
Mobile app security
Mobile app securityMobile app security
Mobile app securitydrewz lin
 
04.layman android google handheld device application design
04.layman android   google handheld device application design04.layman android   google handheld device application design
04.layman android google handheld device application designgaquay086
 
Android开发技巧与性能优化
Android开发技巧与性能优化Android开发技巧与性能优化
Android开发技巧与性能优化
russell_tmp
 
Android系统内存管理介绍(上)
Android系统内存管理介绍(上)Android系统内存管理介绍(上)
Android系统内存管理介绍(上)
朋 王
 
摩托罗拉Defy刷miui教程
摩托罗拉Defy刷miui教程摩托罗拉Defy刷miui教程
摩托罗拉Defy刷miui教程lenpho
 
Android Apk包反编译入门分享
Android Apk包反编译入门分享Android Apk包反编译入门分享
Android Apk包反编译入门分享
jicheng687
 

Similar to Customizing Android rom (9)

Miui rom porting tutorials
Miui rom porting tutorialsMiui rom porting tutorials
Miui rom porting tutorials
 
Miui+rom trans
Miui+rom transMiui+rom trans
Miui+rom trans
 
行動商務 - PhoneGapBuild and Upto Market
行動商務 - PhoneGapBuild and Upto Market行動商務 - PhoneGapBuild and Upto Market
行動商務 - PhoneGapBuild and Upto Market
 
Mobile app security
Mobile app securityMobile app security
Mobile app security
 
04.layman android google handheld device application design
04.layman android   google handheld device application design04.layman android   google handheld device application design
04.layman android google handheld device application design
 
Android开发技巧与性能优化
Android开发技巧与性能优化Android开发技巧与性能优化
Android开发技巧与性能优化
 
Android系统内存管理介绍(上)
Android系统内存管理介绍(上)Android系统内存管理介绍(上)
Android系统内存管理介绍(上)
 
摩托罗拉Defy刷miui教程
摩托罗拉Defy刷miui教程摩托罗拉Defy刷miui教程
摩托罗拉Defy刷miui教程
 
Android Apk包反编译入门分享
Android Apk包反编译入门分享Android Apk包反编译入门分享
Android Apk包反编译入门分享
 

Customizing Android rom

  • 1. Android ROM 定制简介 石长江 随着 Android 智能手机的快速流行,Android ROM 定制一词也越来越多的映入一般用 户的眼帘。 究竟什么是 ROM,什么是定制,为什么这么多人要做 ROM 定制,对手机用户和厂商 都有哪些好处?本文就由浅入深,聊聊 Android 上 ROM 定制的话题。 一、Android ROM 是什么 Android 手机和所有的手机一样,都有 ROM。那什么是 ROM?俗称的 ROM 就是手 机出厂时内置的完整软件包。 ROM 是在手机生产厂的 SMT 生产线上,通过烧录方式,成批灌入手机上的存储芯片 中的。 一般情况下,这个出厂的 ROM 永远不会被修改,直到手机报废。传统的绝大多数手 机,都是如此,不管是 Nokia、Samsung、Moto 这样的品牌手机,还是国内大量采用 MTK、 展讯平台的山寨手机;出厂烧录的 ROM 版本,决定了该手机的基本功能,用户只能修改设 置,不能像 PC 那样,不喜欢 Windows 就自己重装个 Linux,让软件彻底变身。 为了满足手机用户不断增长的多样性需求,提高竞争力,手机(平台)厂商为也想出很多 方法来改变出厂就固定死的软件系统,如封闭系统通过 J2ME;MTK、展讯通过 VRE、WRE 等中间件;微软推出的 WM 系列。这些方法都可以让用户动态安装、卸载应用,逐渐成为 feature phone 时代的主流。 以上方式,不会对系统 ROM 做任何修改。更为关键一点,以往这些手机软件更新, 都是由手机(平台)厂商主导,基本都是封闭不开源的,开发人员和手机玩家无法对手机进行 深度定制。 这一切,随着 Google 推出的 Android 手机操作系统,发生了显著改变。用户若不喜欢 原厂的软件,可以像 PC 那样,彻底大换血,装个自己喜欢的,甚至可以把出厂的 Android 手机刷成 WP7 系统。Android 系统本身开源,意味着你可以独立修改系统的所有代码。加 上 HTC 等厂商,不断放出每一款机型的源代码,让专业第三方团队可以独立为用户升级服 务,甚至先于原厂商,推出新版的 Android 系统。 下一节就典型的 Android ROM 结构进行剖析,使大家对 ROM 有直观的感受。 二、Android ROM 剖析 1、Android 系统文件夹结构 一个完整的 ROM 根目录会有以下几个文件夹及文件: /data /META-IN /system boot.img 系统目录说明 1. 应用程序安装目录 1) 系统应用程序所在目录
  • 2. /system/app/*.apk 2)用户安装应用程序所在目录 /data/app/*.apk 3) 注意: a)在模拟器中,每重启一次,/system/app/下的应用都会被还原,有时/data/app 下也会被清除 b)若在/system/app 和/data/app 下有重名的应用,不一定会启动哪一个,尤其是在 adb install 杀死正在运行的程序时,有时旧的就会被启动 2.用户数据所在目录 /data/data/应用包名/shared_prefs 配置文件 /data/data/应用包名/databases/* 库文件所在目录 3. SD 卡对应目录 /sdcard/ 而定制需要处理的只是两个文件夹里面的内容: data/app –该文本夹里的文件可以全删,也可以自由添加自已所需安装的应用软件,刷机安 装后可以自由删除。 system/app –在这个文件夹下的程序为系统默认的组件,可以看到都是以 APK 格式结尾的文 件,但有些自制的 ROM 里面还有和 APK 文件名对应的 odex 文件。定制主要是针对该文件 夹里的文件进行精简,如果有 odex 文件的,删除 APK 文件名时同时也删除与其对应的 odex 文件。 虽然一般定制时只是对以上两个文件夹里的文件做相应的增减,但我们还是一起来了解 system 相应目录相应文件的用途。(rom 版本不同里面的 APK 也会不一样) /system/app 目录: 这个目录下存放的就是 ROM 自带的应用程度,也就是我们通常说的“系统程序”,主要是 ROM 的制作者按照普遍用户的需要放进去的。另外,常见的 Google 服务都在这个目录下面。 /system/bin 目录: 这个目录下的文件都是系统的本地程序,从 bin 文件夹名称可以看出是 binary 二进制的程序, 里面主要是 Linux 系统自带的组件, /system/etc 目录: 从文件夹名称来看保存的都是系统的配置文件,比如 APN 接入点设置等核心配置,hosts 网 络 DNS 缓存等。 /system/fonts 目录: 这个目录下存放的是 ROM 的字体文件,最重要或最经常修改的是 DroidSans.ttf 和 DroidSansFallback.ttf 这两个字体,前者是英文字体,后者是中文字体。通常修改字体就是 修改这两个字体,如果是刷 ROM 后再修改为自己喜欢的字体,可使用 RE 管理器。 /system/framework 目录: framework 主要是一些核心的文件,从后缀名为 jar 可以看出是是系统平台框架。
  • 3. /system/lib 目录: lib 目录中存放的主要是系统底层库和第三方应用支持库,如平台运行时库和 webkit。 /system/media 目录: 该目录下有一个子目录和一个文件: 文件 bootanimation.zip 是开机动画,就是开机第二屏。 子目录/system/media/audio 存放的是音频文件,比如铃声、闹铃声、提示音、操作音等: /system/usr 目录: 用户文件夹,包含共享、键盘布局、时间区域文件等。 再看目录/META-INF 目录下的内容: 通常来说会有 CERT.RSA 和 CERT,SF 两个文件,有时候会有 MANFEST.MF,还有一个 /META-INF/com 子目录。子目录 com 有两个脚本 update-binary 和 updater-script,不要去动 它们: 关键的文件是 CERT.RSA 和 CERT.SF 这两个文件。这两个文件其实也是我们不需要修改的, 这里提到它们,是因为我们修改 ROM 后需要重新打包自己定制完的 ROM,而且要用这个 定制完的 ROM 去生成一个可以用来刷的 ROM。也就是通常所说的签名。签名就是要重新 生成属于我们自己定制的 ROM 的这两个文件。 更详细的目录、文件说明,可以参见 (1)Android 平台 ROM 的定制及精简教程。
  • 4. (2)定制属于自己的 Android Rom。 了解 Android 系统文件夹结构和相应文件的作用后,我们下一步可以开始定制工作了。 三、ROM 定制流程 (1) 简单定制 这种 ROM 定制基于特定机型已有的 ROM 包 基础上,删除、增加 APK,修改资源,然 后再签名、打包后生成的新 ROM。 1、下载相应的 ROM 2、下载签名工具,并且解压。我这里解压成生的文件夹名为:“APKMake”。工具可以上网下 载。 3、把 ROM 内的所有文件用 WinZip 或是 WinRAR 解压到某一文件夹,为教程容易明白, 我将这文件夹在这里起名为“NewsROM”,你自已喜欢怎样起名都无所谓。 4、进入 NewsROM 文件夹,再进入 dataapp 目录,看这里是否有你所需的程序,不需要的 请删除。你还可以添加你需要的默认安装软件。如:搜狗输入法,只需要把 SogouIme.apk 文件直接拖放到压缩包dataapp 目录内即可。 5、进入 NewsROM 文件夹,再进入 systemapp 删除你不想要的组件、或是添加你需要的组 件。由于有一些组件与其它组件是有依赖的,所以删除时请注意。但也不要怕,如果你删除 的组件不对,刷机时最多是无法进入系统,你用完整 ROM 重新刷一次既可。一般不会变成 砖的。 6、自动签名流程 删除、添加软件完毕,然后把 ROM 文件夹(NewsROM)拖动到 APKMake/APKMake.bat 即 可(重新打包、自动签名)。在 APKMake 目录里打包签名完成后自动会生成 NewsROM.zip (刚才文件夹起名不同,这里生成文件名也不同),这个就是我们已精简的 ROM 了。 手动签名流程 我们基于某个 ROM 定制属于自己的 ROM 后,即使重新打包成*.zip 文件,也是刷不上的。 因为刷机的过程中会验证签名,而修改后的*.zip 文件和原来的签名文件(/META-INF 目录 下的 CERT.RSA 和 CERT,SF 这两个文件)已经对不上号了。 所以,签名就是为了重新生成 CERT.RSA 和 CERT,SF 这两个文件。引用网上看到的一句话 是:“我们这步的意义相当于对里面的程序/内容进行一次点名,避免‘货不对版’。” 网上流行的签名工具都是 Windows 下的签名工具 AutoSign(注:签名工具需要 Java1.6 支持, 所以系统还得有 JRE1.6 的环境),使用方法网上可以轻松查到。 (2) 高级定制(CM, XDA, MIUI) 这种 ROM 定制基于源码编译,需要有完整的 Android 手机开发环境,可以修改、编译、 生成包括 BSP 在内的 Android 系统所有 code。它和简单定制最大区别是要从无到有,新生 成一个 ROM 包。 除了可以免费得到 Android SDK 开发包,针对具体的机型,还必须要有具体的驱动程序 来适配具体的机型硬件(CPU,RF,屏幕,Sensor 等)。在 CyanogenMod(简称 CM),XDA 系统出现以前,对于市场上不同厂商的手机,底层驱动差异很大,独立开发者难以一一去做 BSP 适配,更难以保证机型的稳定。第三方高级定制难度很大。 CM,XDA 系统出现后,针对不同手机的 BSP 适配已得到快速、稳定的解决。没有 CM, 会让市面上可以使用第三方 ROM 的机型大大缩小。这是体现 CM 类价值的地方。 小米的 MIUI 就是站在牛人 CM 肩膀上深度定制的典型样板。他们的 MIUI ROM,就是
  • 5. 基于 CM 最新版本,不用再关心底层的 BSP 驱动,把主要精力放到了用户体验的深度修改 上。 具体以小米 MIUI ROM 的制作为例: <1> 安装 CM 开发环境(wiki); <2> git 下载 CM 最新版本源码; <3> 加入小米自己的修改; <4> 编译,打包成某个具体机型的 MIUI ROM 升级包,发布。 从 MIUI ROM 来看,大幅度修改了 Android 源码,主要的控件 UI 风格偏向 iOS。从用 户易用性考虑,彻底修改了桌面 Home、电话、电话簿、信息、浏览器、播放器、设定等原 生应用,新增了流量管理、权限管理、主题更换、OTA 升级等模块。看得出小米做了大量 的努力工作。据说近 30 个工程师,埋头苦干一年,而且都是有经验的主。 不管哪种定制方式,最后都是生成一份 ROM,通过 Recovery 或者 Fastboot 方式刷入 手机。 四、ROM 定制对 的影响 意义 自 CM 7.0 发布以来,为超过 30 款设备带来了 Android 2.3 版系统,到 2011 上半年为止 根据官网统计,CM 7 总下载量已经超过 22 万。安装量最大的机型为 HTC Desire。这些仅 为官方能统计到的准确数据,并不包括基于 CM7 进行二次修改优化的版本如小米,否则其 数量会更大。 1. 对手机用户是 好处多多 优点不必赘言,根据个人喜好,自由选择软件,摆脱原厂手机系统的限制。哪怕原厂不 再升级维护,也可以找到升级的途径。 缺点刷机一般失去质保。无论如何,给用户开启了选择的大门。 2. 对手机厂商是 喜忧参半 优点是搭好硬件平台后,可以借助第三方之力在上面深耕,充分利用了硬件特性,延长 了手机的有效使用生命周期。第三方 ROM 一般都会选择市场普及度高的机型,被选中被关 注相当于免费广告,厂商乐见其成。 缺点是在移动互联网的时代,手机厂商原来内置的那些期望带来用户黏性的应用链会被 轻易替换,沦为 PC 时代那种纯硬件厂家的危险,出货量少的更面临淘汰的命运。 很多厂家把应用链产品从手机中独立出来,说明已经开始应对。 3. 对运营商是 个机会 移动互联网时代不想沦为流量管道的运营商,其实一直很重视终端。从 CMCC 的 OMS, 到 UNICOM 的沃 phone 平台。无不投入巨大,抢着布局终端产业链。 从整个开发->生产->终端用户链来说,第三方 ROM 不用像 OMS 和沃 phone 那样搞得这 么复杂,也可以实现运营商的深度定制需求,时间和成本相对少了很多。 长期困扰运营商的终端问题:用户投诉分析跟踪处理,客服私人服务化、专家化,统一 配置管理,增值应用推送等等。都可以利用定制 ROM 来解决,同时树立更强大的品牌形象。 我想运营商如何利用这个机会,是门学问。 4. 对独立第三方开发 Team 是 片蓝海 巨大的装机用户量自然带来无限的商业机会,是所有人追求的目标。
  • 6. 第三方 Android ROM 是比浏览器更底层的入口,可以嵌入各种合作伙伴的应用,可以 与手机厂商合作收取授权费,或者用免费换用户量,打造自己的移动互联网应用产业链,内 容、应用、服务、资讯都是可以尝试的不错方向。 追求极致的用户体验,做到稳定高效,并且够简单是开发第三方 ROM 的目标。 这方面,除了民面的高手团队,也已经有商业公司参与进来。 (以上为原创,部分图片文字引自相关参考链接。) 2011-10-12 raisemobile@gmail.com