刷机包制作完整教程 (2)

上传人:平*** 文档编号:13304807 上传时间:2017-10-23 格式:DOC 页数:9 大小:279KB
返回 下载 相关 举报
刷机包制作完整教程 (2)_第1页
第1页 / 共9页
刷机包制作完整教程 (2)_第2页
第2页 / 共9页
刷机包制作完整教程 (2)_第3页
第3页 / 共9页
刷机包制作完整教程 (2)_第4页
第4页 / 共9页
刷机包制作完整教程 (2)_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《刷机包制作完整教程 (2)》由会员分享,可在线阅读,更多相关《刷机包制作完整教程 (2)(9页珍藏版)》请在金锄头文库上搜索。

1、刷机包为单个签名的 zip 压缩包。在刷机包中有一个脚本文件,里面有一系列命令,规定好把不同的文件内容复制的手机的指定分区,从而达到刷机目的。那么怎样来制备这种 zip刷机包呢?那个脚本文件又是什么呢?本章的内容包括三个部分:1.制作刷机补丁2.制作完整刷机包 ROM 3.如何单刷基带和内核 通常,两者都称作刷机包。在本文中,我们说“刷机补丁”是指 ROM 的补充内容。例如:在英文底包上刷中文文件,或者替换字库,替换主题或桌面等等。它们不构成可使手机运行的全部文件,它们仅仅是 ROM 的一部分。以前,常用 update.zip 来传播。当我们说“完整刷机包 ROM”时,我们是特指一个独立完整的

2、 ROM,包含一个刷 ROM 所具有的所有必要刷机元素。1. 制作刷机补丁我们都知道,ROM 发布者通常发布刷机补丁来升级 ROM。ROM 发布后,需要增加、刷新、更改 ROM 内容或功能时,没有必要重新安装整个 ROM。只要把需要更新的部分写成一个“刷机补丁” ,刷进手机与已有的系统合并就行了。在介绍如何制作刷机补丁之前,先让我们来看一个实例:用刷机补丁来更新两个主题文件,把 TouchWiz30Launcher.apk 和 SystemUI.apk 复制进手机的/system/app 目录。刷机包补丁文件名为:CWM_Update.zip。用 WinRAR 打开刷机补丁文件 CWM_Upd

3、ate.zip,看到有两个目录:META-INF 刷机脚本文件和签名system 要复制的补丁内容继续打开/system 就看到文件夹/app,再下去在 /app 下看到要复制的两个主题文件TouchWiz30Launcher.apk 和 SystemUI.apk(见截图) 。从/system 目录开始,所有的目录结构和 akp 文件放置的位置都必须与手机里的内容一一对应。然后进入 META-INF 目录(见截图) ,我们看到有三个文件和一个字文件夹 com。这三个文件是签名文件,是签名操作产生的。在 Android 手机里,所有要刷入手机或在手机里运行的程序都必须经过签名。从 com 继续向

4、下走,在/META-INF/com/google/android 目录下看到有两个文件:update-binary 刷机包用的二进制文件updater-script 刷机包脚本文件这个刷机包脚本文件 updater-script 规定了要刷什么,刷到哪和怎样刷。从这个具体的例子,我们可以总结制作刷机补丁的步骤如下:1)创建一个工作目录:先假定它是 CWM_Update。2)在 CWM_Update 下产生两个子文件夹:META-INF 和 systemCWM_Update/META-INF CWM_Update/system3)再在 CWM_Update/system 下产生下一级子文件夹,存

5、放补丁的内容。目录结构和文件放置要与手机里的文件结构完全一致。apk 应用程序放在/app 下,字库放在/fonts 下,主题放在/framework 下,触摸键定义放在/usr/keylayout 下,库文件放在/lib 下,等等。 文章出处:安卓库(http:/)4)在 CWM_Update/META-INF 下再产生/META-INF/com/google/android到其它的刷机包里去把现成的 update-binary 和 updater-script 复制进/android 目录。我的做法是把 META-INF 的整个目录内容都一起复制过了,里面已经有了三个签名文件和刷机包用的二

6、进制文件 update-binary,一次搞定,省事。不要碰再它们了。5)现在来编辑脚本文件 updater-script,它规定了要复制什么、怎么复制、复制到什么地方。用文本编辑器打开 updater-script,看到内容如下:mount(MTD, system, /system);ui_print(Updating system.);show_progress(0.100000, 0);set_progress(1.000000);package_extract_dir(system, /system);show_progress(0.900000, 10);ui_print(Updat

7、e complete!);unmount(/system);对脚本文件 updater-script 内容解释如下:mount(MTD, system, /system);挂载 MTD、system、/system(system 是 CWM_Update.zip 里的/system 文件夹,/system 是手机空间上的文件夹)ui_print(Updating system.);手机屏幕显示提示信息 Updating system.show_progress(0.100000, 0);是控制进度条状态(进度条当操作完成后前进 10%)set_progress(1.000000);把进度条手动

8、设置到 100%package_extract_dir(system, /system);将 CWM_Update.zip 的 system 文件夹下的内容复制到手机的/systemshow_progress(0.900000, 10);同上,是控制进度条状态(进度条当操作完成后前进 90%)ui_print(Update complete!);手机屏幕显示提示信息 Update complete!unmount(/system);卸载手机/system 文件系统,刷机到此结束。注意:在 unmount 之后必须有一个空行!这是规定。6)在 CWM_Update 目录下,把 META-INF

9、和 system 两个目录打包成一个压缩文件CWM_Update.zip。7)最后,用签名程序 Auto-Sign 对 CWM_Update.zip 进行签名。制作过程结束,刷机补丁就做好了。注释:如果你打算制作一个刷机补丁的话,原样使用这个脚本文件就行了,不用做任何修改。在实际制作时,可以直接从已有的刷机补丁中把 META-INF 目录完全复制过来,连签名过程都省了。但是注意检查一下 updater-script 的内容,以防造成错误后果!文章出处:安卓库(http:/)2. 制作完整刷机包 ROM有了上面如何制作刷机补丁做基础,你也不难制作出一个完整的“卡刷”刷机包 ROM。与制作 Odi

10、n 刷机包相比,这里没有复杂的 RFS 解包和打包过程,不需要 Linux 环境,所有操作在 Windows 下就搞定了。编辑 /system 目录下的内容直截了当,删减和添加内容都方便。我们还是从一个实例出发,考察 ROM 结构和文件的放置,然后归纳制作步骤,介绍制作技巧。随便打开卡刷 ROM 截图如下:文章出处:安卓库(http:/)META-INF 目录在上一节介绍过了,存放的是签名文件和重要的刷机脚本文件 updater-script。system 目录下的内容就是你手机里 /system 目录下的内容,一模一样。与上一节相比,这里多了一个目录 updates。它是干什么用的呢?打开就

11、一目了然了。updates 目录里面有三个文件:modem.bin ,zImage 和 redbend_ua。大家对 modem.bin 和zImage 不陌生吧?它们分别是基带和内核文件。另一个文件 redbend_ua 是刷机用的,不用管它,但是,不能删掉。最后一个文件 installbusybox 也不要动它。现在再回过头来看看刷机脚本文件 updater-script。由于现在要刷进手机的内容多了,所以updater-script 的内容也就更复杂了。完整的脚本文件给出如下:show_progress(0.200000, 10);set_perm(0, 0, 0777, /sbin/m

12、ount);run_program(/sbin/mount, /system);set_perm(0, 0, 0777, /sbin/mount);run_program(/sbin/mount, /dev/block/stl10, /dbdata);set_perm(0, 0, 0777, /sbin/mount);run_program(/sbin/mount, CACHE:); set_perm(0, 0, 0777, /sbin/mount);run_program(/sbin/mount, /dev/block/mmcblk0p2, /data);delete_recursive(/

13、system);delete_recursive(/dbdata);delete_recursive(/cache);delete_recursive(/data/dalvik-cache);delete_recursive(/data);mount(MTD, system, /system);package_extract_dir(system, /system);package_extract_dir(updates, /tmp);show_progress(0.200000, 50);symlink(toolbox, /system/bin/cat);symlink(toolbox, /

14、system/bin/chmod);symlink(toolbox, /system/bin/chown);symlink(toolbox, /system/bin/cmp);symlink(toolbox, /system/bin/date);symlink(toolbox, /system/bin/dd); 文章出处:安卓库(http:/) symlink(toolbox, /system/bin/df);symlink(toolbox, /system/bin/dmesg);symlink(toolbox, /system/bin/getevent);symlink(toolbox, /

15、system/bin/getprop);symlink(toolbox, /system/bin/hd);symlink(toolbox, /system/bin/id);symlink(toolbox, /system/bin/ifconfig);symlink(toolbox, /system/bin/iftop);symlink(toolbox, /system/bin/insmod);symlink(toolbox, /system/bin/ioctl);symlink(toolbox, /system/bin/ionice);symlink(toolbox, /system/bin/kill);symlink(toolbox, /system/bin/ln);symlink(toolbox, /system/bin/log);symlink(toolbox, /system/bin/ls);symlink(toolbox, /system/bin/lsmod);symlink(toolbox, /system/bin/mkdir);symlink(toolbox, /system/bin

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号