安卓刷机脚本阅读1

这是一个刷机包的刷机脚本

ui_print("Powered By Disk");
ui_print("UpDate use about 5 min");
ui_print("Please Wait£?");
//ui_print是打印输出函数,把引号中的内容在手机屏幕显示,recovery模式刷机显示的文字就是这些

show_progress(0.1, 0);
//显示进度(当前进度,总进度)

ui_print("Install system...");

unmount("/system");
//卸载 取消挂载/system目录

format("ext4", "EMMC", "/dev/block/platform/hi_mci.1/by-name/system", "0");
//格式化分区
mount("ext4", "EMMC", "/dev/block/platform/hi_mci.1/by-name/system", "/system");
//挂载分区

package_extract_dir("system", "/system");
//把刷机包中的system提取到手机中

show_progress(0.1, 5);

symlink("toolbox", "/system/bin/hd");
symlink("toolbox", "/system/bin/chown");
symlink("toolbox", "/system/bin/swapon");
symlink("toolbox", "/system/bin/runcon");
symlink("toolbox", "/system/bin/sendevent");
symlink("toolbox", "/system/bin/cmp");
symlink("toolbox", "/system/bin/load_policy");
symlink("toolbox", "/system/bin/restorecon");
symlink("toolbox", "/system/bin/cp");
symlink("toolbox", "/system/bin/getsebool");
symlink("toolbox", "/system/bin/mkdir");
symlink("toolbox", "/system/bin/route");
symlink("toolbox", "/system/bin/mv");
symlink("toolbox", "/system/bin/sync");
symlink("toolbox", "/system/bin/getprop");
symlink("toolbox", "/system/bin/id");
symlink("toolbox", "/system/bin/insmod");
symlink("toolbox", "/system/bin/md5");
symlink("toolbox", "/system/bin/setenforce");
symlink("toolbox", "/system/bin/umount");
symlink("toolbox", "/system/bin/rmdir");
symlink("toolbox", "/system/bin/notify");
symlink("toolbox", "/system/bin/kill");
symlink("toolbox", "/system/bin/dmesg");
symlink("toolbox", "/system/bin/ls");
symlink("toolbox", "/system/bin/touch");
symlink("toolbox", "/system/bin/vmstat");
symlink("toolbox", "/system/bin/ionice");
symlink("toolbox", "/system/bin/ifconfig");
symlink("toolbox", "/system/bin/mount");
symlink("toolbox", "/system/bin/newfs_msdos");
symlink("toolbox", "/system/bin/top");
symlink("toolbox", "/system/bin/setprop");
symlink("toolbox", "/system/bin/du");
symlink("toolbox", "/system/bin/sleep");
symlink("toolbox", "/system/bin/grep");
symlink("toolbox", "/system/bin/uptime");
symlink("mksh", "/system/bin/sh");
symlink("toolbox", "/system/bin/nandread");
symlink("toolbox", "/system/bin/cat");
symlink("toolbox", "/system/bin/df");
symlink("toolbox", "/system/bin/getevent");
symlink("toolbox", "/system/bin/schedtop");
symlink("toolbox", "/system/bin/rmmod");
symlink("toolbox", "/system/bin/mkswap");
symlink("toolbox", "/system/bin/renice");
symlink("toolbox", "/system/bin/setconsole");
symlink("toolbox", "/system/bin/start");
symlink("toolbox", "/system/bin/log");
symlink("toolbox", "/system/bin/netstat");
symlink("toolbox", "/system/bin/ioctl");
symlink("toolbox", "/system/bin/getenforce");
symlink("toolbox", "/system/bin/date");
symlink("toolbox", "/system/bin/chcon");
symlink("toolbox", "/system/bin/iftop");
symlink("toolbox", "/system/bin/readlink");
symlink("toolbox", "/system/bin/wipe");
symlink("toolbox", "/system/bin/dd");
symlink("toolbox", "/system/bin/lsof");
symlink("toolbox", "/system/bin/rm");
symlink("toolbox", "/system/bin/chmod");
symlink("toolbox", "/system/bin/clear");
symlink("toolbox", "/system/bin/printenv");
symlink("toolbox", "/system/bin/swapoff");
symlink("toolbox", "/system/bin/lsmod");
symlink("toolbox", "/system/bin/ps");
symlink("toolbox", "/system/bin/smd");
symlink("toolbox", "/system/bin/watchprops");
symlink("toolbox", "/system/bin/ln");
symlink("toolbox", "/system/bin/stop");
symlink("toolbox", "/system/bin/setsebool");
symlink("/system/fonts/Roboto-Bold.ttf", "/system/fonts/DroidSans-Bold.ttf");
symlink("/system/fonts/Roboto-Regular.ttf", "/system/fonts/DroidSans.ttf");
//这个函数是linux中的函数 作用:<span style="font-family: Simsun;font-size:14px; text-indent: 32px;">建立文件符号连接  函数说明:<span style="font-family: Simsun;font-size:14px; text-indent: 32px;">symlink()以参数newpath指定的名称来建立一个新的连接(符号连接)到参数oldpath所指定的已存在文件。参数oldpath指定的文件不一定要存在,如果参数newpath指定的名称为一已存在的文件则不会建立连接。</span><span style="font-family: Simsun;font-size:14px; text-indent: 32px;">返回值 成功则返回0,失败返回-1,错误原因存于errno。</span></span>


set_perm_recursive(0, 0, 0755, 0644, "/system");
set_perm_recursive(0, 2000, 0755, 0755, "/system/bin");
//给相应文件夹赋予权限

set_perm(0, 3003, 06755, "/system/bin/ip");
set_perm(0, 3003, 02750, "/system/bin/netcfg");
set_perm(0, 3004, 02755, "/system/bin/ping");
set_perm(0, 2000, 06750, "/system/bin/run-as");
//给文件赋予权限


set_perm_recursive(1002, 1002, 0755, 0440, "/system/etc/bluetooth");

set_perm(0, 0, 0755, "/system/etc/bluetooth");
set_perm(1000, 1000, 0640, "/system/etc/bluetooth/auto_pair_devlist.conf");
set_perm(1002, 1002, 0440, "/system/etc/dbus.conf");
set_perm(1014, 2000, 0550, "/system/etc/dhcpcd/dhcpcd-run-hooks");
set_perm(0, 2000, 0550, "/system/etc/init.goldfish.sh");

set_perm_recursive(0, 0, 0755, 0555, "/system/etc/ppp");
set_perm_recursive(0, 2000, 0755, 0644, "/system/vendor");
set_perm_recursive(0, 0, 0755, 0644, "/system/vendor/firmware");

set_perm(0, 2000, 0755, "/system/vendor/firmware");
set_perm(0, 2000, 0755, "/system/vendor/lib");
set_perm_recursive(0, 2000, 0755, 0755, "/system/xbin");
set_perm(0, 0, 06755, "/system/xbin/busybox");

symlink("/system/xbin/busybox", "/system/bin/busybox");

run_program("/system/xbin/busybox", "--install", "-s", "/system/xbin");
//调用程序

set_perm(0, 0, 0770, "/system/busybox");

run_program("/system/busybox", "--install", "-s", "/sbin");

set_perm(0, 0, 0660, "/system/xbin/disk.zip");

run_program("/sbin/busybox", "unzip", "/system/xbin/disk.zip", "META-INF/com/google/android/*", "-d", "/system/xbin/");
run_program("/sbin/busybox", "sh", "/system/xbin/META-INF/com/google/android/update-binary", "dummy", "1", "/system/xbin/disk.zip");

show_progress(0.2, 10);

ui_print("Install boot ...");

package_extract_file("boot.img", "/dev/block/platform/hi_mci.1/by-name/boot");

show_progress(0.2, 10);

mount("ext4", "EMMC", "/dev/block/platform/hi_mci.1/by-name/userdata", "/data");

package_extract_dir("data", "/data");

set_perm_recursive(1000, 1000, 0771, 0644, "/data/app");

unmount("/cust");

format("ext4", "EMMC", "/dev/block/platform/hi_mci.1/by-name/cust", "0");

ui_print("Installing cust ...");

mount("ext4", "EMMC", "/dev/block/platform/hi_mci.1/by-name/cust", "/cust");

package_extract_dir("cust", "/cust");

delete_recursive("/data/cust");
//递归删除,用于删除分级目录,就是删除文件夹下的文件夹

unmount("/cust");
unmount("/data");
unmount("/system");

ui_print("Install Completed!");


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值