分享

【新提醒】【chiwah作品】超详细ROM定制教程==小白也能打造自己专属ROM

 网文汇集 2013-09-25
 本帖最后由 chiwahfj 于 2013-3-16 17:17 编辑

(新更新的在二至四楼,请关注)。

本教程着重讲解在WINDOWS下的厨房定制ROM操作(其他系统也大致相同),首先需要:
一、配置java环境
二、cygwin厨房平台的搭建
三、kitchen厨房安装
参考:【安智C团队】教程(2)ROM的定制工具-厨房平台的搭建和安装【chiwah作品】
http://bbs./forum.php?mod=viewthread&tid=5292876&fromuid=3186581


                                (原创作品,安智网首发,转载请注明作者及来源出处)

教程分为上下两部分:
上部分:
可直接用厨房解包的,如华为C8650、华为C8650+、华为u8660等等,其实有些机型也是可以直接解官方包的,比如三星的i9100只要把官方固件zip的后缀名修改了,就可以直接用厨房解包,本教程以华为c8650+的官方固件B875为例。
一、我们点击桌面的cygvin快捷方式,进入厨房:
【chiwah作品】超详细ROM定制教程==小白也能打造自己专属ROM]
选择0、进入高级操作菜单:
【chiwah作品】超详细ROM定制教程==小白也能打造自己专属ROM]
一共有27个选项,由于全是汉化的,我就不一一说明了,重点介绍我们平时定制需要常用的几项:
1-导入ROM文件到工作文件夹;
2-添加ROOT权限;
3-添加busybox指令集;
6-对所有apk文件进行zipalign操作;
11-对您的ROM进行Deodex操作(将apk和odex两个文件合并);
13-添加/data/app支持功能;
23-对update-script或者updater-script刷机脚本进行转换;

99-从工作文件夹建立ROM刷机包;
二、我们将从华为官网下载的HUAWEI_C8650E_Android_2.3_V100R001C92B875_中国电信_05010UBA.zip解压,得到update.app,复制进*:\cygwin\home\计算机名\originginal_update文件夹,(比如我的是c:\cygwin\home\Administrator\original_update)
【chiwah作品】超详细ROM定制教程==小白也能打造自己专属ROM]
【chiwah作品】超详细ROM定制教程==小白也能打造自己专属ROM]
三、运行选择1 -导入ROM文件到工作文件夹,回车-回车-回车,找到我们刚复制的update.app,比如是在选择(2):
【chiwah作品】超详细ROM定制教程==小白也能打造自己专属ROM]
提示是否修改新的工作文件夹名,这里我选择修改,输入y,回车,修改新的工作文件夹为WORKING_b875,回车,开始解包,这个过程需要几分钟:
【chiwah作品】超详细ROM定制教程==小白也能打造自己专属ROM]
解包完成后提示是否查看ROM的信息,选择回车,查看:
【chiwah作品】超详细ROM定制教程==小白也能打造自己专属ROM]
四、解包完毕,我们回到c:\cygwin\home\Administrator,发现多了个WORKING_b875,打开WORKING_b875文件夹里面有META-INF、systemboot.img:
【chiwah作品】超详细ROM定制教程==小白也能打造自己专属ROM]
META-INF是签名用的,里面有个控制脚本,待会介绍,boot.img是安卓系统的启动镜像,里面包括安卓系统的内核及安卓系统启动初始化配置文件等,本教程介绍的是基于官方固件修改定制rom,所以可以不用理会;现在我们着重点在system上,打开system文件夹,我们可以看到:
【chiwah作品】超详细ROM定制教程==小白也能打造自己专属ROM]
详细介绍见:
http://bbs./forum.php?mod=viewthread&tid=5242206&fromuid=3186581
基于官方固件修改精简,着重在:
1)、system\app-----系统软件:

此时就可以参考:http://bbs./forum.php?mod=viewthread&tid=5045949&fromuid=3186581进行精简删除了;

在删减前用winrar压缩工具打开所要删除的apk查看是否有lib\armeabi\..so文件,如有,进入system\lib文件夹,一并删除;

比如删减在线升级UpdataOnline.apk,用winrar或好压等右健打开Updataonline.apk,发现有lib\armeadi\libhwfotaadapter.so,那么我们进入systetm\lib文件夹,找到libhwfotaadapter.so删除,再进入system\app删除Updataonline.apk及Updataonline.odex;

又如,我们用快图浏览替换3D图库,首先用winrar工具提取快图浏览.apk中的libqpicjni*.so放入system\lib文件夹中,把快图浏览.apk放入system\app文件夹中,删除3D图库Gallery3D.apk,当然Gallery3D.odex也一并删除;

再如我们要添加百度输入法,还是先提取lib…….so文件放入system\lib文件夹中,再把百度输入法.apk放入system\app文件夹中;

总之,添加软件apk时,一定要先查看是否有lib......so文件,如有切莫忘记提取出来放入system\lib中,否则定制的rom会有fc;所添加的软件不能有中文名及间隔符号等。
2)、system\fonts------放系统的字体

修改替换自己所中意的字体,主要替换这三种就行:DroidSansFallback.ttf--中文、DroidSans.ttf--英文、DroidSans-Bold.ttf--英文粗体;

3)、system\media------

里面有shutdownanimation.zip(这个是电信的关机动画 );

alarms(闹钟铃声 );

notifications(短信铃声);

ringtones(来电铃声);

ui(相机声音等);

把自己心仪的音乐直接添加,不喜欢的可以直接删除,注意格式。

五、回到厨房操作界面,选择2--添加ROOT最高权限;选择f,回车:

【chiwah作品】超详细ROM定制教程==小白也能打造自己专属ROM]

【chiwah作品】超详细ROM定制教程==小白也能打造自己专属ROM]

六、选择3-添加busybox指令集;

【chiwah作品】超详细ROM定制教程==小白也能打造自己专属ROM]

【chiwah作品】超详细ROM定制教程==小白也能打造自己专属ROM]


七、选择6-对所有apk文件进行zipalign操作,优化内存占用

(这就是在许多rom里所说的zipalign优化了)其实这一步在打包时也可以进行,但建议在此时进入,或许有些软件暂时不能写入,有可能导致rom中有些软件不能使用,在此时进行就可以发现选择修改替换了,避免在打包时再退出修改替换;

【chiwah作品】超详细ROM定制教程==小白也能打造自己专属ROM]

【chiwah作品】超详细ROM定制教程==小白也能打造自己专属ROM]


八、选择0-高级选项,进入,11-对您的ROM进行Deodex操作(将apk和odex两个文件合并);

自己决定是否合并,合并了就会造成data空间减少,但有利于对apk进行编辑和回编辑修改。

九、选择13-添加/data/app支持功能;(可预置可删除内置程序)

data\app就是我们在手机上看到的可用空间了,集成这里面的软件可以直接卸载,大家知道有些软件升级时间较快,比如uc浏览器的升级速度很快,我们就可以把uc浏览器集成在data\app里,在线升级后直接覆盖替换,如果集成在system\app里,升级后新的版本的apk是生成在data\app里,并不能覆盖system\app里的原apk,这样就浪费的system的可用空间了。

【chiwah作品】超详细ROM定制教程==小白也能打造自己专属ROM]


【chiwah作品】超详细ROM定制教程==小白也能打造自己专属ROM]
十、如果你自己对开机第一屏及初始屏幕软件图标排列要求不高,就可以直接进行打包了,如要进行开机动画修改可以运行选择18-添加支持自定义动画功能,把自己制作或下载的开机动画bootanimatiom.zip放入新生成的data\local文件夹中即可,注意,刷机后,要用re管理器进入cust\chinatelecom\cn\media,删除bootanimatiom.zip也就是原先的开机动画(有的话),不然仍然是原先的开机动画。

十一、23-对update-script或者updater-script刷机脚本进行转换;

【chiwah作品】超详细ROM定制教程==小白也能打造自己专属ROM]

由于我们采用的是recovery进行刷系统recovery支持的是Edify格式的命令而update-script是Amend格式的命令所以要把update-script转换为Edify格式的updater-script才能正常刷机所以我们选择选项2、回车:(提示在打包时转换,由于我们需要添加cust分区,务必修改刷机控制脚本,所以此时进行转换)注意了,如果进行cust分区的添加,就不必进行上述的第十项操作了

【chiwah作品】超详细ROM定制教程==小白也能打造自己专属ROM]

【chiwah作品】超详细ROM定制教程==小白也能打造自己专属ROM]

十二、修改刷机控制文件脚本,由于厨房解包没有生成cust分区,所以我们要另行添加,大家可以用re管理器在自己的机子里复制提取,这里我提供个原版的华为C8650+的cust下载, c8650 _cust.zip (6.14 MB, 下载次数: 202)

cust文件夹内的开机屏及动画等的修改参考:http://bbs./forum.php?mod=viewthread&tid=5242206&fromuid=3186581
我们回到c:\cygwin\home\Administrator、WORKING_b875工作文件夹,打开META-INF\com\google\android,里面包括update-binary ,updater-script等ORIG文件:

【chiwah作品】超详细ROM定制教程==小白也能打造自己专属ROM]

十三、现在把下载或自己提取的cust复制到c:\cygwin\home\Administrator\WORKING_b875中,此时工作文件夹里有如图的内容:

【chiwah作品】超详细ROM定制教程==小白也能打造自己专属ROM]


本帖隐藏的内容

用文本编辑器或电脑自带的记事本打开META-INF\com\google\android\updater-script文件,在show_progress(0.2, 10);unmount("/system");之前添加

  1. format("MTD", "cust");
  2. mount("MTD", "cust", "/cust");
  3. package_extract_dir("cust", "/cust");
  4. format("MTD", "cache");
复制代码


在unmount("/data");后面添加:

  1. unmount("/cust");
复制代码


简单说明:

mount("MTD", "cust", "/cust");  挂载MTD格式cust分区

package_extract_dir("cust", "/cust"); 复制刷机包里cust文件夹到cust分区对应位置

如未修改前:

  1. assert(package_extract_file("boot.img", "/tmp/boot.img"),
  2.        write_raw_image("/tmp/boot.img", "boot"),
  3.        delete("/tmp/boot.img"));
  4. show_progress(0.2, 10);
  5. unmount("/system");
  6. unmount("/data");
复制代码


修改后:

  1. assert(package_extract_file("boot.img", "/tmp/boot.img"),
  2.        write_raw_image("/tmp/boot.img", "boot"),
  3.        delete("/tmp/boot.img"));
  4. format("MTD", "cust");
  5. mount("MTD", "cust", "/cust");
  6. package_extract_dir("cust", "/cust")
  7. format("MTD", "cache");
  8. show_progress(0.2, 10);
  9. unmount("/system");
  10. unmount("/data");
  11. unmount("/cust");
复制代码


大家在进入recovery刷机时常常会看到些作者的信息,比如

Anzhi are you more brilliant(安智有你更精彩)那么我们就在最后添加语句的显示内容(显示双引号里面的内容)ui_print("Anzhi are you more brilliant");

  1. assert(package_extract_file("boot.img", "/tmp/boot.img"),
  2.        write_raw_image("/tmp/boot.img", "boot"),
  3.        delete("/tmp/boot.img"));
  4. show_progress(0.2, 3);
  5. format("MTD", "cust");
  6. mount("MTD", "cust", "/cust");
  7. package_extract_dir("cust", "/cust");
  8. show_progress(0.2, 6);
  9. format("MTD", "cache");
  10. show_progress(0.2, 10);
  11. unmount("/system");
  12. unmount("/data");
  13. unmount("/cust");
  14. ui_print("Anzhi are you more brilliant");
复制代码


具体的修改大家可以参考大神们rom里的脚本,初学者可以直接使用大神们rom的META-INF;这里show_progress(0.2, 10);是显示进度条的语句,括号里0.2表示执行此指令进度条前滚20%,后面的数字表示几秒内滚完,,所以show_progress(0.2, 10);的意思就是10秒向前滚动进度条20%。


十四、打包,回到厨房操作界面,选择99-从工作文件夹建立ROM刷机包;

【chiwah作品】超详细ROM定制教程==小白也能打造自己专属ROM]

选择1=

【chiwah作品】超详细ROM定制教程==小白也能打造自己专属ROM]

前面我们已经进行了zipalign优化,所以选择n:

【chiwah作品】超详细ROM定制教程==小白也能打造自己专属ROM]

选择签名:

【chiwah作品】超详细ROM定制教程==小白也能打造自己专属ROM]

选择修改rom名称:

【chiwah作品】超详细ROM定制教程==小白也能打造自己专属ROM]

例如修改rom名称为c8650+b875:

【chiwah作品】超详细ROM定制教程==小白也能打造自己专属ROM]

大功告成,我们进入c:\cygwin\home\Administrator\OUTPUY_ZIP,发现已有c8680+b875.zip,这就是我们定制成功的rom了:

【chiwah作品】超详细ROM定制教程==小白也能打造自己专属ROM]

把c8650+b875.zip复制手机的sd卡上,进行recovery刷机界面,双清后,刷入吧!!!!!!等待自已的专属rom诞生!!!!!

再次提醒,所添加或替换的apk不能是中文名及有间隔符号,否则会造成刷机失败!


下半部分:

由于本教程是在WINDOWS下操作,直观下有些机型的官方固件不能直接解包,比如华为C8812、华为p1、华为u8818,其实有个最简单的办法:在手机使用官方版本时,进入recovery进行备份,备份后从sd卡上clockworkmod目录里提取system.ext4及boot.img复制到c:\cygwin\home\Administrator\original_update,就可以运行厨房,按照本教程的上半部分进行操作定制rom:

【chiwah作品】超详细ROM定制教程==小白也能打造自己专属ROM]

【chiwah作品】超详细ROM定制教程==小白也能打造自己专属ROM]


当然,你如果装有linux或ubuntu系统,就可以直接用厨房解包;以华为p1举例:将下载的官方固件“华为Ascend P1固件(U9200-1, Android 4.0,V100R001CHNC00B115, 中国区通用)”解压,得到UPDATE.APP复制到厨房的orignal_updata文件夹里,运行厨房,按照提示建立工作文件夹,比如建立WORKING_p1文件夹,选择UPDATE.APP,厨房会自动调用pearl脚本程序解包,解包完成后,提示找不到system.img及boot.img,不用管他,进入WORKING_p1工作文件夹,可以看到里面有UPDATE.APP和output二个文件夹,打开output文件夹,里面有16个文件,我们只要把unknown_file.11文件改名为boot.img,把unknown_file.13文件改名为system.img,并将改名后的二个文件复制进orignal_updata文件里,就可以运行厨房,定制rom了。

我们还是回到WINDOWS操作系统,虽然可以用recovery备份的方式提取system.ext4及boot.img,但毕竟是用备份,可能机缘并不巧合,比如我自己的c8812的机子,原官方系统仍是b918的,但我已自己定制rom升级到了b937,每次总不可能都要刷回官方固件来升级,所以要采用解包工具来解包,在WINDOWS下解包的方式有很多,论坛上搜搜就有,我就不提供解包工具下载了,如果有童鞋实在不愿意自己解包,我会提供相应机型的system.img及boot.img。

现在我们以华为C8812为例,将下载的最新的“华为Ascend C8812固件(C8812,Android 4.0,V100R001C92B937,中国电信,05010XDJ)”用解包工具解包后,得到system.img和boot.img复制进c:\cygwin\home\Administrator\original_update:

【chiwah作品】超详细ROM定制教程==小白也能打造自己专属ROM]

运行厨房,选择1-选项:

【chiwah作品】超详细ROM定制教程==小白也能打造自己专属ROM]

选择system.img and boot.img,也就是(1)选项:

【chiwah作品】超详细ROM定制教程==小白也能打造自己专属ROM]

我们修改新的工作文件夹为WORKING_c8812:

【chiwah作品】超详细ROM定制教程==小白也能打造自己专属ROM]

回车后,选择选项2-,回车:

【chiwah作品】超详细ROM定制教程==小白也能打造自己专属ROM]

生成Ext2explore:

【chiwah作品】超详细ROM定制教程==小白也能打造自己专属ROM]

点击左上角File--点击Qpen Image--点击WORKING_c8812--点击system--点击system.img--打开:

【chiwah作品】超详细ROM定制教程==小白也能打造自己专属ROM]

【chiwah作品】超详细ROM定制教程==小白也能打造自己专属ROM]

【chiwah作品】超详细ROM定制教程==小白也能打造自己专属ROM]

【chiwah作品】超详细ROM定制教程==小白也能打造自己专属ROM]

右健点击右边的新生成的图标框--点击save--点击Administrator--点击WORING_c8812点击system--确定,开始解压,解压完成后,关闭Ext2explore:

【chiwah作品】超详细ROM定制教程==小白也能打造自己专属ROM]

【chiwah作品】超详细ROM定制教程==小白也能打造自己专属ROM]

【chiwah作品】超详细ROM定制教程==小白也能打造自己专属ROM]

按回车健:

【chiwah作品】超详细ROM定制教程==小白也能打造自己专属ROM]

现在我们进入工作文件夹c:\cygwin\home\Administrator\WORING_c8812,里面已生成META-INF、system、boot.img:

【chiwah作品】超详细ROM定制教程==小白也能打造自己专属ROM]

回到厨房操作界面,选择3.回车:

【chiwah作品】超详细ROM定制教程==小白也能打造自己专属ROM]

选择查看rom信息:

【chiwah作品】超详细ROM定制教程==小白也能打造自己专属ROM]

【chiwah作品】超详细ROM定制教程==小白也能打造自己专属ROM]

回车后,现在就可以对照本教程上半部分,从第四项开如操作了,也就是进入工作文件夹WORING_c8812开始精简、添加、运行厨房定制,这里就不再具体描述了;具体步骤仍为:
2-添加ROOT权限;
3-添加busybox指令集;
6-对所有apk文件进行zipalign操作;
11-对您的ROM进行Deodex操作(将apk和odex两个文件合并);
13-添加/data/app支持功能;
23-对update-script或者updater-script刷机脚本进行转换;
99-从工作文件夹建立ROM刷机包;
cust分区文件可以自己用re管理器从机子里复制提取,我这里提供华为c8812、华为p1、华为u8818_2.3.6的cust分区文件下载。

华为c8812_cust下载:

本帖隐藏的内容

c8812_cust.zip (13.13 MB, 下载次数: 182)

华为p1_cust下载:

本帖隐藏的内容

p1_cust.zip (2.53 MB, 下载次数: 71)

华为u8818_2.3.6_cust下载:

本帖隐藏的内容

u8818_2.3.6_cust.zip (1.13 MB, 下载次数: 72)


特别提醒,在这里,厨房生成的刷机控制脚本META-INF\com\google\android\updater-script不能直接使用,务必修改,我简单介绍下:

厨房生成的

  1. format("MTD", "system");
  2. mount("MTD", "system", "/system");
复制代码


修改为:

  1. format("ext4", "EMMC", "/dev/block/mmcblk0p12", "0");
  2. mount("ext4", "EMMC", "/dev/block/mmcblk0p12", "/system");
复制代码


厨房生成的:

  1. package_extract_file("check_data_app", "/tmp/check_data_app");
  2. set_perm(0, 0, 0777, "/tmp/check_data_app");
  3. run_program("/tmp/check_data_app");
  4. mount("MTD", "userdata", "/data");
  5. package_extract_dir("data", "/data");
  6. set_perm_recursive(1000, 1000, 0771, 0644, "/data/app");
复制代码


修改为:

  1. format("ext4", "EMMC", "/dev/block/mmcblk0p13", "0");
  2. mount("ext4", "EMMC", "/dev/block/mmcblk0p13", "/data");
  3. package_extract_dir("data", "/data");
  4. set_perm_recursive(1000, 1000, 0771, 0644, "/data/app");
复制代码


添加cust分区,在show_progress(0.2, 10);unmount("/system");前添加:

  1. format("ext4", "EMMC", "/dev/block/mmcblk0p18", "0");
  2. mount("ext4", "EMMC", "/dev/block/mmcblk0p18", "/cust");
复制代码


还有些也要修改、添加,大家可以参考大神们rom里的META-INF自己进行比较,修改、添加;

另外厨房生成的META-INF\com\google\android\update-binary也不能直接使用,务必修改,所以建议大家初始直接使用其他大神rom里的META-INF。

本教程到此告一段落,逐步完美!教程是在最基本的WINDOWS XP 32位系统下操作的,说明了只要多折腾、多摸索、胆大心细,定制自己的专属ROM就是这么简单!!!


不同机型的官方升级固件,我尽量在最快时间内为大家提供解包后的system.img及boot.img,如有要求,可以直接pm我。


华为c8812_b937_system.img\boot.img下载:


华为p1_system.img\boot.img下载:




          本教程属基于官方固件精简修改rom定制教程,陆续我将发布美化、优化、移植适配、源码编译等教程。

                              

                           您的支持是我创作的动力!!!


ps:写教程不容易,大家如有问题请跟贴提问,我会尽量回答,也可以直接pm我,请勿在点评或评分中提问,在点评或评分中提问,我就没有地方可以回复。








    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多