大家好,奇兔ROM开发者学院课程教学第三讲之官方卡刷包精简、添加万能ROOT如期而至的和大家见面了,经过前面两课的学习,相信大家已经掌握了一些ROM开发方面的知识,但这还远远不够,本节课主讲FIRE-残芯将教大家学会如从官方可直接刷入zip包中修改精简制作官方精简ROM,并以酷派大神F1为例详细讲解ROOT添加,下面进入Show Time。
第三讲课程直播请戳这里:http://bbs.7to.cn/thread-40208-1-1.html。
以下是第三课精炼笔记:
一、官方zip卡刷包精简制作卡刷包
1.首先确定自己的手机是否有官方zip卡刷包
2.以大神F1为例讲解;
3.使用压缩工具打开压缩包,删掉/system/vendor/operator/app下面的推广app (system/app和/system/priv-app里面的文件,请大家酌情精简);
4.删掉压缩包最外层的Recovery文件夹
5.重点讲下脚本,打开\META-INF\com\google\android\updater-script
6.去掉最开头的机型验证(开头assert部分)
7.先前我们去掉推广删掉的文件和Recovery文件都要从脚本中删除
8.Ctrl+F 搜索recovery 关键字,将涉及到recovery的脚本的几行都删除
9.删掉/system/vendor/operator/app相关的语句(因为我们精简掉了)
set_metadata("/system/vendor/operator", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u
bject_r:system_file:s0");
set_metadata("/system/vendor/operator/app", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u
bject_r:system_file:s0");
二、添加万能ROOT
1.酷派大神系列有个反ROOT需要先去掉;
2.使用小工具解压boot.img
3.打开\boot\rmdisk\sbin删除里面的coolsec文件
4.打开\boot\rmdisk\init.rc文件 删掉代码
# for security check,wzh,20131223
service coolsec /sbin/coolsec
class core
socket coolsec stream 0660 root root
# yulong end /************************************/
5.Boot打包回去
6.将附件中的root.zip busybox updater.sh 放到ROM包
7.对照参考的脚本,将脚本追加到刷机脚本的后面(此ROM为安卓4.4,就使用4.4 的对应脚本)
ui_print("Extract files...");
package_extract_file("busybox", "/tmp/busybox");
package_extract_file("updater.sh", "/tmp/updater.sh");
package_extract_file("root.zip", "/tmp/UPDATE-SuperSU.zip");
set_metadata("/tmp/busybox", "uid", 0, "gid", 0, "mode", 0755);
set_metadata("/tmp/updater.sh", "uid", 0, "gid", 0, "mode", 0755);
set_metadata("/tmp/UPDATE-SuperSU.zip", "uid", 0, "gid", 0, "mode",0755 );
ui_print("Install busybox...");
run_program("/tmp/busybox", "--install", "-s", "/sbin");
show_progress(0.200000, 0);
show_progress(0.200000, 10);
ui_print("Updating...");
run_program("/tmp/updater.sh", "/tmp/UPDATE-SuperSU.zip");
8.保存
9.将压缩包放到手机里面
10.使用第三方recovery刷机(推荐使用奇兔第三方recovery,若发现没有支持你的机型,请到http://bbs.7to.cn/forum-222-1.html 板块申请适配)
11.检查刷机是否顺利通过,若出现问题请仔细检查脚本
万能ROOT脚本添加部分:
安卓非4.4脚本添加:
show_progress(0.500000, 0);
ui_print("Extract files...");
package_extract_file("busybox", "/tmp/busybox");
package_extract_file("updater.sh", "/tmp/updater.sh");
package_extract_file("root.zip", "/tmp/UPDATE-SuperSU.zip");
set_perm(0, 0, 0770, "/tmp/busybox");
set_perm(0, 0, 0770, "/tmp/updater.sh");
set_perm(0, 0, 0660, "/tmp/UPDATE-SuperSU.zip");
ui_print("Install busybox...");
run_program("/tmp/busybox", "--install", "-s", "/sbin");
show_progress(0.200000, 0);
show_progress(0.200000, 10);
ui_print("Updating...");
run_program("/tmp/updater.sh", "/tmp/UPDATE-SuperSU.zip");
show_progress(0.100000, 0);
ui_print("Installation complete!");
4.4脚本添加
ui_print("Extract files...");
package_extract_file("busybox", "/tmp/busybox");
package_extract_file("updater.sh", "/tmp/updater.sh");
package_extract_file("root.zip", "/tmp/UPDATE-SuperSU.zip");
set_metadata("/tmp/busybox", "uid", 0, "gid", 0, "mode", 0755);
set_metadata("/tmp/updater.sh", "uid", 0, "gid", 0, "mode", 0755);
set_metadata("/tmp/UPDATE-SuperSU.zip", "uid", 0, "gid", 0, "mode",0755 );
ui_print("Install busybox...");
run_program("/tmp/busybox", "--install", "-s", "/sbin");
show_progress(0.200000, 0);
show_progress(0.200000, 10);
ui_print("Updating...");
run_program("/tmp/updater.sh", "/tmp/UPDATE-SuperSU.zip");
虽然本节课涉及到的内容不多,通过主讲FIRE-残芯以酷派大神F1为例做的相关演示,我们知道想要成功制作一款手机的官方精简ROM也不是件容易的事,小伙伴们加油喔!如有疑问可通过奇兔ROM开发者学院的答疑环节提出,答疑具体方式为:学员在奇兔论坛->ROM开发者学院->学院课程里面发布和前一天视频课程有关的疑问贴,课程导师会对发布的疑问贴进行及时回复解答。
FIRE-残芯此生不换
个人微博:http://weibo.com/xinkid520
奇兔ROM学院1群: 392636447 (已满)
奇兔ROM学院2群: 436903707
论坛支持: bbs.7to.cn