该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
5和6相比前面的一些内容,属于比较难懂一点的,需要有linux相关的知识, 不再更多阐述, 贴些代码,简单说下.
其中可能用上的部分函数介绍:
symlink: 所谓的符号链接, 当然, windows的用户不怎么容易了解, 建议多熟悉下Linux相关内容.
set_perm_recursive: 你可以理解为设置目录权限
如下代码, 连接../xbin/su到/system/bin/su这个程序.
1. ui_print(” Symlinking now…”);
2. symlink(“../xbin/su”, “/system/bin/su”);
复制代码
如下代码,设置相关的权限.
1. ui_print(” Setup permissions now…”);
2. set_perm_recursive(0, 0, 0755, 0644, “/system”);
3. set_perm_recursive(0, 2000, 0755, 0755, “/system/bin”);
4. set_perm_recursive(0, 2000, 0755, 0755, “/system/app”);
复制代码
至于刷入内核引导文件boot.img,
如下, 用assert函数实现了, 解压内核到临时区域, 写入内核文件, 删除临时文件的过程.
1. ui_print(” Writing Boot.img…”);
2. assert(package_extract_file(“boot.img”, “/tmp/boot.img”),
write_raw_image(“/tmp/boot.img”, “boot”), delete(“/tmp/boot.img”));
复制代码
最后,结束, 取消挂载所有区域, 提示结束.
如下代码:
1. ui_print(” “);
2. ui_print(” Flash finished…Enjoy it!”);
3. unmount(“/system”);
4. unmount(“/data”);
复制代码
可能大家看了还是模模糊糊的, 没关系, 没有相关的知识, 确实不容易一下子看明白, 但是饭一口口吃, 知识也是一点点懂的, 抛砖引玉,希望给与大家一点点帮助