安卓刷机脚本阅读1
2015-10-15 15:42
435 查看
这是一个刷机包的刷机脚本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!");
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories