为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

刷机包制作完整教程

2017-10-08 9页 doc 28KB 24阅读

用户头像

is_005190

暂无简介

举报
刷机包制作完整教程刷机包制作完整教程 刷机包为单个签名的zip压缩包。在刷机包中有一个脚本文件里面有一系列命令规定好把不同的文件内容复制的手机的指定分区从而达到刷机目的。那么怎样来制备这种zip刷机包呢那个脚本文件又是什么呢 本章的内容包括三个部分 1.制作刷机补丁 2.制作完整刷机包ROM 3.如何单刷基带和内核 通常两者都称作刷机包。在本文中我们说“刷机补丁”是指ROM的补充内容。例如在英文底包上刷中文文件或者替换字库替换主题或桌面等等。它们不构成可使手机运行的全部文件它们仅仅是ROM的一部分。以前常用update.zip来传播。当我们说...
刷机包制作完整教程
刷机包制作完整 刷机包为单个签名的zip压缩包。在刷机包中有一个脚本文件里面有一系列命令规定好把不同的文件内容复制的手机的指定分区从而达到刷机目的。那么怎样来制备这种zip刷机包呢那个脚本文件又是什么呢 本章的内容包括三个部分 1.制作刷机补丁 2.制作完整刷机包ROM 3.如何单刷基带和内核 通常两者都称作刷机包。在本文中我们说“刷机补丁”是指ROM的补充内容。例如在英文底包上刷中文文件或者替换字库替换主或桌面等等。它们不构成可使手机运行的全部文件它们仅仅是ROM的一部分。以前常用update.zip来传播。当我们说“完整刷机包ROM”时我们是特指一个独立完整的ROM包含一个刷ROM所具有的所有必要刷机元素。 1. 制作刷机补丁 我们都知道ROM发布者通常发布刷机补丁来升级ROM。ROM发布后需要增加、刷新、更改ROM内容或功能时没有必要重新安装整个ROM。只要把需要更新的部分写成一个“刷机补丁”刷进手机与已有的系统合并就行了。 在介绍如何制作刷机补丁之前先让我们来看一个实例用刷机补丁来更新两个主题文件把TouchWiz30Launcher.apk 和SystemUI.apk复制进手机的/system/app目录。刷机包补丁文件名为 CWM_Update.zip。 用WinRAR打开刷机补丁文件CWM_Update.zip看到有两个目录 META-INF 刷机脚本文件和签名 system 要复制的补丁内容 继续打开/system就看到文件夹/app再下去在 /app下看到要复制的两个主题文件TouchWiz30Launcher.apk 和SystemUI.apk见截图。从/system目录开始所有的目录结构和akp文件放置的位置都必须与手机里的内容一一对应。 然后进入META-INF目录见截图我们看到有三个文件和一个字文件夹com。这三个文件是签名文件是签名操作产生的。在Android手机里所有要刷入手机或在手机里运行的程序都必须经过签名。从com继续向下走在/META-INF/com/google/android目录下看到有两个文件 update-binary 刷机包用的二进制文件 updater-script 刷机包脚本文件 这个刷机包脚本文件updater-script规定了要刷什么刷到哪和怎样刷。 从这个具体的例子我们可以总结制作刷机补丁的如下 1创建一个工作目录先假定它是CWM_Update。 2在CWM_Update下产生两个子文件夹META-INF和system CWM_Update/META-INF CWM_Update/system 3再在CWM_Update/system下产生下一级子文件夹存放补丁的内容。目录结构和文件放置要与手机里的文件结构完全一致。apk应用程序放在/app下字库放在/fonts下主题放在/framework下触摸键定义放在/usr/keylayout下库文件放在/lib下等等。 4在CWM_Update/META-INF下再产生 /META-INF/com/google/android 到其它的刷机包里去把现成的update-binary和 updater-script复制进/android目录。 我的做法是把META-INF的整个目录内容都一起复制过了里面已经有了三个签名文件和刷机包用的二进制文件update-binary一次搞定省事。不要碰再它们了。 5现在来编辑脚本文件updater-script它规定了要复制什么、怎么复制、复制到什么地方。用文本编辑器打开updater-script看到内容如下 mountMTD system /system ui_printUpdating system... show_progress0.100000 0 set_progress1.000000 package_extract_dirsystem /system show_progress0.900000 10 ui_printUpdate complete unmount/system 对脚本文件updater-script内容解释如下 mountMTD system /system 挂载MTD、system、/systemsystem是CWM_Update.zip里的/system文件夹/system是手机空间上的文件夹 ui_printUpdating system... 手机屏幕显示提示信息 Updating system... show_progress0.100000 0 是控制进度条状态进度条当操作完成后前进10 set_progress1.000000 把进度条手动设置到100 package_extract_dirsystem /system 将 CWM_Update.zip的system文件夹下的内容复制到手机的/system show_progress0.900000 10 同上是控制进度条状态进度条当操作完成后前进90 ui_printUpdate complete 手机屏幕显示提示信息 Update complete unmount/system 卸载手机/system文件系统刷机到此结束。 注意在unmount之后必须有一个空行这是 规定。 6在CWM_Update目录下把META-INF和system两个目录打包成一个压缩文件 CWM_Update.zip。 7最后用签名程序Auto-Sign对CWM_Update.zip进行签名。制作 过程结束刷机补丁就做好了。 注释如果你打算制作一个刷机补丁的话原样使用这个 脚本文件就行了不用做任何修改。在实际制作时可以直接从已有的刷机补丁中把 META-INF目录完全复制过来连签名过程都省了。但是注意检查一下updater-script 的内容以防造成错误后果 2. 制作完整刷机包ROM 有了上面如何制作刷机补丁做 基础你也不难制作出一个完整的“卡刷”刷机包 ROM。与制作Odin刷机包相比这里 没有复杂的RFS解包和打包过程不需要Linux环境所有操作在Windows下就搞定了。 编辑 /system目录下的内容直截了当删减和添加内容都方便。 我们还是从一个实例 出发考察ROM结构和文件的放置然后归纳制作步骤介绍制作技巧。随便打开卡刷 ROM 截图如下 META-INF目录在上一节介绍过了存放的是签名文件和重要的刷 机脚本文件updater-script。 system目录下的内容就是你手机里/system目录下的内容 一模一样。 与上一节相比这里多了一个目录updates。它是干什么用的呢打开就一 目了然了。updates目录里面有三个文件modem.binzImage和redbend_ua。大家对 modem.bin和zImage不陌生吧它们分别是基带和内核文件。另一个文件 redbend_ua 是刷机用的不用管它但是不能删掉。 最后一个文件installbusybox也不要动它。 现 在再回过头来看看刷机脚本文件updater-script。由于现在要刷进手机的内容多了所 以updater-script的内容也就更复杂了。完整的脚本文件给出如下 show_progress0.200000 10 set_perm0 0 0777 /sbin/mount run_program/sbin/mount /system set_perm0 0 0777 /sbin/mount run_program/sbin/mount /dev/block/stl10 /dbdata set_perm0 0 0777 /sbin/mount run_program/sbin/mount CACHE: set_perm0 0 0777 /sbin/mount run_program/sbin/mount /dev/block/mmcblk0p2 /data delete_recursive/system delete_recursive/dbdata delete_recursive/cache delete_recursive/data/dalvik-cache delete_recursive/data mountMTD system /system package_extract_dirsystem /system package_extract_dirupdates /tmp show_progress0.200000 50 symlinktoolbox /system/bin/cat symlinktoolbox /system/bin/chmod symlinktoolbox /system/bin/chown symlinktoolbox /system/bin/cmp symlinktoolbox /system/bin/date symlinktoolbox /system/bin/dd symlinktoolbox /system/bin/df symlinktoolbox /system/bin/dmesg symlinktoolbox /system/bin/getevent symlinktoolbox /system/bin/getprop symlinktoolbox /system/bin/hd symlinktoolbox /system/bin/id symlinktoolbox /system/bin/ifconfig symlinktoolbox /system/bin/iftop symlinktoolbox /system/bin/insmod symlinktoolbox /system/bin/ioctl symlinktoolbox /system/bin/ionice symlinktoolbox /system/bin/kill symlinktoolbox /system/bin/ln symlinktoolbox /system/bin/log symlinktoolbox /system/bin/ls symlinktoolbox /system/bin/lsmod symlinktoolbox /system/bin/mkdir symlinktoolbox /system/bin/mount symlinktoolbox /system/bin/mv symlinktoolbox /system/bin/nandread symlinktoolbox /system/bin/netstat symlinktoolbox /system/bin/newfs_msdos symlinktoolbox /system/bin/notify symlinktoolbox /system/bin/printenv symlinktoolbox /system/bin/ps symlinktoolbox /system/bin/reboot symlinktoolbox /system/bin/renice symlinktoolbox /system/bin/rm symlinktoolbox /system/bin/rmdir symlinktoolbox /system/bin/rmmod symlinktoolbox /system/bin/route symlinktoolbox /system/bin/schedtop symlinktoolbox /system/bin/sendevent symlinktoolbox /system/bin/setconsole symlinktoolbox /system/bin/setprop symlinktoolbox /system/bin/sleep symlinktoolbox /system/bin/smd symlinktoolbox /system/bin/start symlinktoolbox /system/bin/stop symlinktoolbox /system/bin/sync symlinktoolbox /system/bin/top symlinktoolbox /system/bin/umount symlinktoolbox /system/bin/vmstat symlinktoolbox /system/bin/watchprops symlinktoolbox /system/bin/wipe symlink/system/bin/dumpstate /system/bin/dumpmesg symlink/system/bin/debuggerd /system/bin/csview set_perm_recursive0 0 0755 0644 /system set_perm_recursive0 2000 0755 0755 /system/bin set_perm_recursive0 0 0755 0755 /system/etc set_perm_recursive1002 1002 0755 0440 /system/etc/bluetooth set_perm_recursive0 2000 0755 0755 /system/vendor/bin set_perm_recursive0 2000 0755 0644 /system/vendor/etc set_perm_recursive0 2000 0755 0644 /system/vendor/firmware set_perm_recursive0 2000 0755 0755 /system/xbin set_perm0 2000 0755 /system/vendor set_perm0 2000 0755 /system/vendor/firmware set_perm0 2000 0755 /system/vendor/bin/launch_gps.sh set_perm0 2000 0755 /system/vendor/bin/gpsd set_perm0 2000 0755 /system/etc/bluetooth set_perm0 3003 02755 /system/bin/netcfg set_perm0 3004 02755 /system/bin/ping set_perm1002 1002 0440 /system/etc/dbus.conf set_perm1014 2000 0550 /system/etc/dhcpcd/dhcpcd-run-hooks set_perm0 2000 0550 /system/etc/init.goldfish.sh set_perm0 0 06755 /system/bin/su symlink/system/bin/su /system/xbin/su set_perm0 0 06755 /system/xbin/busybox set_perm0 0 755 /tmp/redbend_ua show_progress0.200000 60 set_perm0 0 0777 /system/xbin/busybox run_program/system/xbin/busybox --install -s /system/xbin show_progress0.200000 70 set_perm0 0 0777 /tmp/redbend_ua run_program/tmp/redbend_ua restore /tmp/modem.bin /dev/block/bml12 show_progress0.200000 80 set_perm0 0 0777 /tmp/redbend_ua run_program/tmp/redbend_ua restore /tmp/zImage /dev/block/bml7 show_progress0.200000 90 set_perm0 0 0777 /tmp/redbend_ua run_program/tmp/redbend_ua restore /tmp/zImage /dev/block/bml8 show_progress1.000000 0 set_perm0 1000 0755 /system/xbin/busybox package_extract_fileinstallbusybox /tmp/installbusybox set_perm0 0 0777 /tmp/installbusybox run_program/tmp/installbusybox unmount/system 感兴趣的机友可 以到机锋论坛或其它论坛去学习脚本文件里的语句和语法这里不作介绍。也看看参 考目录中的链接。值得要提的是下面这两句用run_program语句把基带文件 modem.bin复制到bml12分区把内核文件zImage复制进bml7分区。 run_program/tmp/redbend_ua restore /tmp/modem.bin /dev/block/bml12 run_program/tmp/redbend_ua restore /tmp/zImage /dev/block/bml7 现在给出制作完整 刷机包ROM的步骤 1创建一个工作目录先假定它是JVP-ROM。 2在JVP-ROM下产 生三个子文件夹META-INFsystem和updates JVP-ROM/META-INF JVP-ROM /system JVP-ROM /updates 3去找一个现成的卡刷刷机包ROM例如我6月22日发的卡 刷包ROMJVP2.3.4_SunnyOK_CN-2.zip。把解压后得到的 META-INF和 installbusybox都复制进JVP-ROM目录把redbend_ua复制进/updates文件夹。 4在 JVP-ROM/system下准备好所用相应的内容。这个不用教你自己看一下手机里的 /system就清楚了。另外定制ROM必须会修改和编辑/system。 5把选好的基带和内核 文件放到JVP-ROM/updates目录下。 6在JVP-ROM目录下把META-INFsystemupdates 和installbusybox一起打包成压缩文件JVP-ROM.zip。这就是完成了的完整刷机包 ROM了。 注释 1以上没有说签名步骤原因是在第3步里已经把签名文件都复制过来 了不需要再签名。 2如果没有借用以前的签名最后一步就要用签名程序Auto-Sign对 JVP-ROM.zip进行签名。 3以上的制作过程借用了已有卡刷ROM的某些元素使制作 过程大大简化达到自己的目的。 3. 如何单刷基带和内核 1 单刷基带 当单刷基带 时在/updates文件夹内放基带文件modem.bin和复制文件bmlwrite。刷机脚本文件的内 容写为 ui_print ui_print ui_printFlashing I897 modem. Please wait... ui_print package_extract_dirupdates /tmp/updates set_perm0 0 755 /tmp/updates/bmlwrite run_program/tmp/updates/bmlwrite /tmp/updates/modem.bin /dev/block/bml12 ui_printSuccessful Please reboot. 2 单刷内核 当单刷内核时在/updates文件夹内放内 核文件zImage和复制文件bmlwrite。刷机脚本文件的内容写为 ui_print ui_print ui_printFlashing I897 kernel. Please wait... ui_print package_extract_dirupdates /tmp/updates set_perm0 0 0755 /tmp/updates/bmlwrite run_program/tmp/updates/bmlwrite /tmp/updates/zImage /dev/block/bml7 ui_printSuccessful Please reboot. 附件 1. 签名程序 Auto-sign.rar 2. 刷机补丁 Update-Template.rar 3. 完整刷机包ROM模板 ROM-Template.rar 4. 单刷基带模板 Phone-Update.rar 5. 单刷内核模板 Kernel-Update.rar
/
本文档为【刷机包制作完整教程】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索