Android ROM 定制
- 格式:pdf
- 大小:159.77 KB
- 文档页数:6
安卓Android ROM定制、移植:第四篇:安卓ROM简单定制、打包、签安卓Android ROM定制、移植:第四篇:安卓ROM简单定制、打包、签名、换字体首先下载一个ROM主要是ZIP格式的,下一篇给大家讲讲IMG格式的如何分。
一、下载一个ZIP格式的ROM解压,一个ROM的结构其实以CM7官方为例,很简单如下1. META-INF2. system 本帖隐藏的内容3. boot.img当然有的也包含有DATA文件夹,那么这些是干嘛的呢!META-INF\\com\\google\\android\%updater-script放的是刷机脚本,刷进机器就靠这些脚本,一般不用动就行。
system里面放的是系统文件夹1. system\\app system\\bin2. system\\etc3. system\\fontssystem\\framework4. system\\lib5. system\\media6. system\\tts7. system\%usr8. xbin9. build.prop那么来看一些具体的参数,打字真他花儿的蛋疼,哎!手打一部分,一部分来自网络!1. \\system\\app2. \\system\\app\\AlarmClock.apk 闹钟3. \\system\\app\\Browser.apk 浏览器4. \\system\\app\\Bugreport.apk Bug报告5. \\system\\app\\Calculator.apk 计算器6. \\system\\app\\Calendar.apk 日历7. \\system\\app\\CalendarProvider.apk 日历提供8. \\system\\app\\Camera.apk 照相机9. \\system\\app\\com.amazon.mp3.apk 亚马逊音乐10. \\system\\app\\Contacts.apk 联系人11. \\system\\app\\DownloadProvider.apk 下载提供12. \\system\\app\\DrmProvider.apk DRM数字版权提供13. \\system\\app\\Email.apk 电子邮件客户端14. \\system\\app\\FieldTest.apk 测试程序15. \\system\\app\\GDataFeedsProvider.apkGoogleData提供16. \\system\\app\\Gmail.apk Gmail电子邮件17. \\system\\app\\GmailProvider.apk Gmail提供。
android手机ROM分解定制签名教程
看到有些同学一直在问如何分解谷歌手机的ROM,今天我就借花献佛,把这个教程放上来,绝对100%有用
本教程只适合在Windows系统下使用,感谢提供原教程的小罗同学,我在Windows7系统测试成功
我把步骤过程做了一个PDF文件,大家可以下载附件,本文提供工具和教程附件下载
教程里面介绍有:
1、需要用到的工具
2、官方ROM如何提取system.img
3、如何把system.img分解成system
4、如何打包最后精简好的ROM
5、如何签名ROM文件
工具下载:
JKD6:迅雷专用高速下载
system.img分解工具unyaffs
unyaffs.rar (586.82 KB)
签名工具Auto-sign:
Auto-sign.zip (9.82 KB)
(感谢小罗同学)ROM中的META-INF文件:(适合制作有data/app文
件的ROM)
META-INF.rar (920 Bytes)
(适合下面的教程,也就是ROM中无data文件夹)
META-INF1.rar (889 Bytes)。
安卓ROM简单定制——修改——CM7系列ROM教程适用于初级修改ROM的爱好者一、下载一个ZIP格式的ROM解压,一个ROM的结构其实以CM7官方为例,很简单如下META-INFsystemboot.img当然有的也包含有DA TA文件夹,那么这些是干嘛的呢!META-INF\com\google\android\updater-script放的是刷机脚本,刷进机器就靠这些脚本,一般不用动就行。
system里面放的是系统文件夹system\appsystem\binsystem\etcsystem\fontssystem\frameworksystem\libsystem\mediasystem\ttssystem\usrxbinbuild.prop那么来看一些具体的参数,打字真他花儿的蛋疼,哎!手打一部分,一部分来自网络!\system\app\system\app\AlarmClock.apk 闹钟\system\app\Browser.apk 浏览器\system\app\Bugreport.apk Bug报告\system\app\Calculator.apk 计算器\system\app\Calendar.apk 日历\system\app\CalendarProvider.apk 日历提供\system\app\Camera.apk 照相机\system\app\com.amazon.mp3.apk 亚马逊音乐\system\app\Contacts.apk 联系人\system\app\DownloadProvider.apk 下载提供\system\app\DrmProvider.apk DRM数字版权提供\system\app\Email.apk 电子邮件客户端\system\app\FieldTest.apk 测试程序\system\app\GDataFeedsProvider.apk GoogleData提供\system\app\Gmail.apk Gmail电子邮件\system\app\GmailProvider.apk Gmail提供\system\app\GoogleApps.apk 谷歌程序包\system\app\GoogleSearch.apk 搜索工具\system\app\gtalkservice.apk GTalk服务\system\app\HTMLViewer.apk HTML查看器\system\app\HtcTwitter.apk 集成Twitter客户端PEEP\system\app\IM.apk 即使通讯组件包含MSN、yahoo通\system\app\ImCredentialProvider.apk\system\app\ImProvider.apk\system\app\Launcher.apk 启动加载器\system\app\HtcNaviPanel.apk 导航软件\system\app\Maps.apk 电子地图\system\app\MediaProvider.apk 多媒体播放提供\system\app\Mms.apk 短信、彩信\system\app\Music.apk 音乐播放器\system\app\MyFaves.apk T-Mobile MyFaves程序\system\app\NewsReader.apk 新闻阅读器\system\app\PackageInstaller.apk apk安装程序\system\app\Phone.apk 电话拨号器\system\app\Settings.apk 系统设置\system\app\SettingsProvider.apk 设置提供\system\app\SetupWizard.apk 设置向导\system\app\SoundRecorder.apk 录音工具\system\app\Street.apk 街景地图\system\app\Sync.apk 同步程序\system\app\Talk.apk 语音程序\system\app\TelephonyProvider.apk 电话提供\system\app\Updater.apk 更新程序\system\app\VpnServices.apk VPN服务\system\app\Vending.apk 制造商信息\system\app\VoiceDialer.apk 语音拨号器\system\app\VoiceSearch.apk 语音搜索\system\app\YouTube.apk Youtube视频\system\bin这个目录下的文件都是系统的本地程序,从bin文件夹名称可以看出是binary二进制的程序,里面主要是Linux系统自带的组件,Android手机网就主要文件做下简单的分析介绍:\system\bin\akmd\system\bin\am\system\bin\app_process 系统进程\system\bin\dalvikvm Dalvik虚拟机宿主\system\bin\dbus-daemon 系统BUS总线监控\system\bin\debuggerd 调试器\system\bin\debug_tool 调试工具\system\bin\dexopt DEX选项\system\bin\dhcpcd DHCP服务器\system\bin\dumpstate 状态抓取器\system\bin\dumpsys 系统抓取器\system\bin\dvz\system\bin\fillup\system\bin\flash_image 闪存映像\system\bin\hciattach\system\bin\hcid HCID内核\system\bin\hostapd\system\bin\hostapd_cli\system\bin\htclogkernel\system\bin\input\system\bin\installd\system\bin\itr\system\bin\linker\system\bin\logcat Logcat日志打印\system\bin\logwrapper\system\bin\mediaserver\system\bin\monkey\system\bin\mountd 存储挂载器\system\bin\netcfg 网络设置\system\bin\ping Ping程序\system\bin\playmp3 MP3播放器\system\bin\pm 包管理器\system\bin\qemud QEMU虚拟机\system\bin\radiooptions 无线选项\system\bin\rild RIL组件\system\bin\sdptool\system\bin\sdutil\system\bin\service\system\bin\servicemanager 服务管理器\system\bin\sh\system\bin\ssltest SSL测试\system\bin\surfaceflinger 触摸感应驱动\system\bin\svc 服务\system\bin\system_server\system\bin\telnetd Telnet组件\system\etc从文件夹名称来看保存的都是系统的配置文件,比如APN接入点设置等核心配置。
安卓AndroidROM定制移植第八篇ROM单刷包的制作即刷机语法美化系统必学、安卓AndroidROM定制、移植定制rom也已经讲了一段时间了,不过不知道大家究竟有没有明白,今天给大家写一些单刷包的制作过程,一般来说都是用recovery刷机的,不过也有特殊的时候,这个暂且不论,开始!比如,接下来的篇章中,大多数是关于美化篇,那么就肯定需要这个东西,首先,看清楚单刷包的结构。
一般来说就是这两个东西META-INFSYSTEM如果你看了前面的几篇文章,那么这篇估计结构就懂了。
一般我没美化都是修改SytemUI.apk、framework-re.apk或者font 文件夹中的字体文件。
首先针对recovery3.0以下的同学使用的是update-cript语法,那么如下首先找一个你机型的刷机包,去掉其他只留这两个文件META-INF和ytem美化系统必学、安卓AndroidROM定制、移植update-cript用notepad++打开删掉所有的,并复制如下命令插入how_progre0.10deleteSYSTEM:app/SytemUI.apkdeleteSYSTEM:framework/framework-re.apkhow_progre0.13copy_dirPACKAGE:ytemSYSTEM:how_progre0.17et_perm000644SYSTEM:app/SytemUI.apket_perm000644SYSTEM:framework/framework-re.apkhow_progre0.110命令解释:deleteSYSTEM:app/SytemUI.apk删除ytem/app/SytemUI.apkcopy_dirPACKAGE:ytemSYSTEM:复制刷机包内的文件到相应的位置,其实呢,整个单刷包就这句就行,不过为了保险,还得加上这些语句!et_perm000644SYSTEM:app/SytemUI.apk为ytem.apk授权how_progre0.10等是进程提示符美化系统必学、安卓AndroidROM定制、移植修改后删除META-INF下的CERT.RSA、CERT.SF,然后压缩包,进行签名,用APKTOOL或者任何可用的签名工具都可以。
安卓rom制作教程安卓ROM制作教程安卓ROM(Read-Only Memory)是一种预先编程的存储器,它包含了操作系统和内置应用程序。
制作自己的安卓ROM可以让你个性化你的手机,并添加一些自定义的功能。
下面是一个简单的安卓ROM制作教程。
第一步:准备工作1. 你需要一台可root的安卓手机,并确保手机已解锁bootloader。
2. 在电脑上下载并安装ADB(Android Debug Bridge)和Fastboot工具。
3. 下载并安装一个合适的ROM制作软件,如Kitchen MTK、ROM Toolbox等。
第二步:备份手机在开始制作ROM之前,务必备份手机中的所有数据,包括联系人、照片、音乐等。
你可以使用ADB工具把数据备份到电脑上。
第三步:解包原始ROM1. 使用ROM制作软件把原始ROM解压到你的电脑上。
这样你就可以编辑ROM包中的文件了。
2. 在解压后的文件夹中,你会找到几个重要的文件,如boot.img、system.img等。
第四步:编辑ROM1. 修改系统设置:你可以编辑系统设置,如添加或删除应用程序、更改启动画面等。
2. 安装自定义应用:你可以在ROM中添加一些自定义应用,例如Root Explorer、SuperUser等。
3. 修改内核:如果你是高级用户,你可以修改内核以提高手机的性能或添加一些新功能。
4. 添加自定义的壁纸、铃声等。
第五步:重新打包ROM完成对ROM的编辑后,你需要重新打包ROM。
第六步:刷入新的ROM1. 使用Fastboot工具把手机连接到电脑上。
2. 进入Fastboot模式,在命令提示符下输入“adb reboot bootloader”命令。
3. 使用“fastboot flash boot boot.img”命令刷入新的启动镜像。
4. 使用“fastboot flash system system.img”命令刷入新的系统镜像。
5. 使用“fastboot reboot”命令重启手机。
制作Android ROM有两种方法:∙编译Android源代码的方法,这个比较复杂,以后再介绍;∙在已有的ROM基础上制作或者叫定制自己的ROM。
本文介绍的是在已有ROM基础上的定制步骤。
我这里使用的机器是Nexus One,于是下载了第三方的ROM,这里以安卓农夫ROM 2.4为基础。
当然也可以用CyanogenMod提供的ROM,实际上安卓农夫的ROM就是在该ROM 基础上做的定制。
解压缩ROM,比如安卓农夫ROM 2.4文件名为:n1_2.4_signed 2.zip解压缩后,可以看到目录中:∙boot.img文件,这是系统的镜像,包括Linux内核以及系统启动的一些基本文件。
∙META-INF目录,这里主要有系统更新脚本,路径是:META-INF/com/google/android/updater-script∙system/app目录,系统自带的应用程序都放在这个目录下,比如日历、联系人、gmail 等,你可以把自己的apk文件放在该目录下,这样就可以在刷ROM的时候直接安装上∙system/bin目录,系统命令,可以通过adb shell登录后执行,比如top∙system/etc目录,类似linux的/etc目录∙system/font目录,字体∙system/framework目录,android框架,是java实现,在dalvik虚拟机下支持用户java 开发的框架∙system/lib目录,android本地共享库,都是so文件,是c、c++编译的本地共享库∙system/media目录,一些媒体文件,比如bootanimation.zip,压缩包里面是一些png 图,用于开机动画,替代这些可以改变开机画面,audio目录下是一些声音文件,用于铃声和通知等其实,本文介绍的定制ROM主要步骤是如何将解开的ROM打包签名,如果只是打包回zip,android是不认的,recovery的时候会在校验ROM包的时候报错。
CyanogenMOD移植教程转自秋叶随风Ivan;乐蛙论坛等。
第一章:环境的搭建一.系统选择和安装建议使用ubuntu LTS 10.04 X64新手朋友推荐Deepin Linux 基于ubuntu定制的,适合新手使用/download系统安装教程,以下方法通用于UBUNTU官方版本U盘安装:/index.php/Unetbootin光盘安装:/index.php/光盘安装搭建android编译环境:英文好的请猛击这里:WIKI:/index.php?title=Building_from_source1.安装JDK因为ANDROID大部分东西是java写的,所以首先我们需要安装JDK 打开终端按照如下命令输入或者直接复制粘贴:编译android 2.3 或者更新的版本请使用jdk 6$ sudo add-apt-repository "deb / lucid partner"$ sudo apt-get update$ sudo apt-get install sun-java6-jdk如果你需要编译的是2.2以下的版本请使用JDK 5,因为现在大家都是使用Gingerbread 以上的系统,这里就不介绍jdk5如何安装的了,如果有需要请度娘或者google2.安装各种依赖包64位环境:依然是终端中输入$ sudo apt-get install git-core gnupg flex bison gperfbuild-essential \zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs \x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev \libgl1-mesa-dev g++-multilib mingw32 tofrodospython-markdown \libxml2-utils xsltproc如果这些依赖包依然不能解决你的问题,请参考如下:/wiki/HTC_Hero_(CDMA):_Com pile_CyanogenMod_(Linux)/source/initializing.html3.下载代码打开终端:在个人目录下面使用的是android 代替我的工程,用cm7代替CM7的源码用CM9代替CM9的源码如果要更新下载CM7的源码请输入:mkdir -p ~/binmkdir -p ~/android/cm7个人目录下的bin目录是为了保存repo 等更新脚本的依然再终端输入:curlhttps:///dl/googlesource/git-repo/repo > ~/bin/repochmod a+x ~/bin/repo可以把~/bin/repo 加入到环境变量里面终端输入sudo gedit /etc/environment在PATH=“”加入PA TH="/home/ivanhuang/bin:" ivanhuang为个人目录的名称,也就是计算机登录名更改结束之后终端输入source /etc/environment就能直接在终端中使用repo 命令了。
大家好,我是Android_Core4\★★★★,欢迎参阅由《Android.fairyland》出品的——《Android ROM定制工具——Kitchen ROM》教程!今天的教程,主要针对Kitchen ROM,也就是ROM厨房的运行环境设置以及运行,这是一个初期教程,以后还会有这方面的原创后续教程的,在教程开始前,先对本期教程该用到的工具——Cygwin以及Android Kitchen ROM(即ROM厨房)、EmEditor做一下简短的简介。
1.A ndroid Kitchen ROM简介:Kitchen ROM是由xda-developers论坛,一位来自加拿大开发者的杰作,Kitchen ROM的原名是——《dsixda's Android 》,这是一个定制ROM的工具。
2.C ygwin简介:Cygwin是一个在windows平台上运行的类UNIX模拟环境,是cygnus solutions公司开发的自由软件(该公司开发了很多有用的工具,著名的还有eCos,不过现已被Redhat(收购)。
它对于学习UNIX/Linux操作环境,或者从UNIX到Windows的应用程序移植,或者进行某些特殊的开发工作,尤其是使用GNU工具集在Windows上进行嵌入式系统开发,非常有用。
随着嵌入式系统开发在国内日渐流行,越来越多的开发者对Cygwin产生了兴趣。
3. EmEditor简介:EmEditor是日本的江村软件公司(Emurasoft)所开发的一款在Windows平台上运行的文字编辑程式。
EmEditor以运作轻巧、敏捷而又功能强大、丰富著称,得到许多用户的好评。
Windows内建的记事本程式由于功能太过单薄,所以有不少用户直接以EmEditor取代。
EmEditor的发行最早始于1997年,迄今仍在持续发展中。
简介完毕!让我们进入今天的教程:么这一步可以越过。
工具下载好后,开始进入今天的教程:1. 将Cygwin工具的压缩包解压,推荐以解压到Cygwin工具文件夹的方式解压;2. 鼠标左键双击文件夹;3. 文件夹里面,有三个文件;4. 鼠标左键双击setup应用程序;5. 进入到Cygwin工具的安装界面;6. 鼠标点击下一步;7. Cygwin的默认安装选项是Install from Internet(即联网安装)。
安卓ROM定制定制ROM要在Linux系统下!!!!推荐用雨林木风的3.0Linux系统,Linux下载连接下载本文中需要的Linux下的分解合成软件安卓分解合成.rar (208 KB)一:教程开始:*打开Linux系统把下载的unyaffs mkyaffs2image放到文件里系统/usr/local/bin里;*然后在/usr/local/bin目录打开终端,在终端中输入sudo chmod 777 unyaffs sudo chmod 777 mkyaffs2image 给这两个文件授权;*然后在文件系统/ROOT/里建立一个system文件夹,把system.img拷贝到此文件夹下在此打开终端输入unyaffs system.img此时rom已被分解分解完后文件夹下多了很多文件各个文件夹的作用说明/system/app系统应用程序存放目录/system/bin系统的本地程序,是binary二进制的程序,里面主要是Linux系统自带的组件。
/system/etc系统的配置文件,比如APN接入点设置等核心配置。
/system/fonts字体文件夹。
/system/framework 主要是一些核心的文件,从后缀名为jar可以看出是系统平台框架。
/system/lib存放的主要是系统底层库,如平台运行时库。
/system/media铃声音乐文件夹,除了常规的铃声外还有一些系统提示事件音/system/usr用户文件夹,包含共享、键盘布局、时间区域文件等。
/system/xbin存放系统管理工具,他们都是为系统管理员准备的,是一些系统管理和配置工具。
/system/build.prop 属性文件,“关于MID”中所显示的软件版本、内核、机型等信息。
二:定制我们的ROM*定制ROM意思集成你觉得好的软件在ROM里,DIY强的还可以对界面进行美化/system/framework/这个就是主界面。
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/systemboot.img系统目录说明1. 应用程序安装目录1) 系统应用程序所在目录/system/app/*.apk2)用户安装应用程序所在目录/data/app/*.apk3) 注意: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、下载相应的ROM2、下载签名工具,并且解压。
我这里解压成生的文件夹名为:“APKMake”。
工具可以上网下载。
3、把ROM内的所有文件用WinZip或是WinRAR解压到某一文件夹,为教程容易明白,我将这文件夹在这里起名为“NewsROM”,你自已喜欢怎样起名都无所谓。
4、进入NewsROM文件夹,再进入data\app目录,看这里是否有你所需的程序,不需要的请删除。
你还可以添加你需要的默认安装软件。
如:搜狗输入法,只需要把SogouIme.apk 文件直接拖放到压缩包\data\app目录内即可。
5、进入NewsROM文件夹,再进入system\app删除你不想要的组件、或是添加你需要的组件。
由于有一些组件与其它组件是有依赖的,所以删除时请注意。
但也不要怕,如果你删除的组件不对,刷机时最多是无法进入系统,你用完整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进行二次修改优化的版本如小米,否则其数量会更大。