Android刷机脚本——updater-script
前言
updater-script是Android手机刷入系统时的脚本文件,由它来决定Android系统需要刷入哪些内容,如何刷入。
语法
mount
语法: mount(fs_type, partition_type, location, mount_point)。
作用:挂载一个文件系统到指定的挂载点。
返回值:成功返回挂载点,失败返回null。
说明:
fs_type:“yaffs2”或“ext4”
partition_type:“MTD”或“EMMC”
location:分区(partition)或驱动器(device)
mount_point:挂载文件系统的目标文件夹
示例:mount(“ext4”, “EMMC”, “/dev/block/mmcblk0p8”, “/system”);unmount
语法:unmount(mount_point)。
作用:解除文件系统挂载。
返回值:成功返回挂载点,失败返回null。
示例:unmount(“/system”);format
语法:format(fs_type, partition_type, location)
作用:格式化指定的文件系统
说明:
fs_type:“yaffs2”或“ext4”
partition_type:“MTD”或“EMMC”
location:分区或驱动器
示例:format(“ext4”, “EMMC”, “/cache”);delete
语法:delete(file1, file2, …, fileN)
作用:删除文件。变长参数,支持删除多个文件。
示例:delete(“/tmp/boot.img”);delete_recursive
语法:delete_recursive()
作用:递归删除目录。
示例:delete_recursive(“/data/media/AppStoreWidget”)show_progress
语法:show_progress(fraction, duration)
作用:在recovery中为下面的程序操作显示进度条。进度条会根据duration前进fraction。
说明:
fraction:进度完成数值
duration:总秒数
示例:show_progress(0.950000, 50); (ps:show_progress后面的操作可能耗时50s,完成后进度条前进95%)package_extract_dir
语法:package_extract_dir(package_path, destination_path);
作用:释放卡刷包中package_path的内容到destination_path。
示例:package_extract_dir(“system”, “/system”); (ps:释放rom包中system文件夹下所有文件和子文件夹至/system)package_extract_file
语法:package_extract_file(file_path, destination_path);
作用:提取Rom包中的单个文件到指定目标目录。
示例:package_extract_file(“boot.img”, “/tmp/boot.img”);symlink
语法:symlink(target, src1, src2, …);
作用:建立指向target的符号链接src1、src2…
说明:
target:符号链接目标
src1:要创建的符号链接目标点
示例:symlink(“mksh”, “/system/bin/sh”);set_perm
语法:set_perm(uid, gid, mode, file1, file2, …, fileN);
作用:设置单个文件或者多个文件的权限。
说明:
uid:用户ID
gid:用户组ID
mode:权限
file1:需要设置的文件路径
示例:set_perm(0, 3004, 02755, “/system/bin/ping”);set_perm_recursive
语法:set_perm_recursive(uid, gid, dir-mode, file-mode, path);
作用:设置指定文件夹和文件夹中文件的权限。
示例:set_perm_recursive(0, 0, 0755, 0644, “/system”);ui_print
语法:ui_print(“str”);
作用:recovery中打印出str字符串内容,类似于Java中的System.out.println();
示例:ui_print(“+++++++++++++++++++++++++++++++++++++++++++++”);run_program
语法:run_program(path, arg1, …, argN)
作用:以指定的参数执行程序。
说明:
path:要执行的程序路径
arg1:运行参数信息
示例:run_program(“/sbin/busybox”, “mount”, “/system”);write_raw_image
语法:write_raw_image(file_path, partition);
说明:
file_path:要读取的img源文件
partition:要写入img文件的目标分区
示例:write_raw_image(“/tmp/boot.img”, “bootimg”);assert
语法:assert(condition1, …, conditionN);
作用:如果condition的计算结果为false,则终止脚本的运行。
示例:assert(package_extract_file(“boot.img”,“/tmp/boot.img”), write_raw_image(“/tmp/boot.img”,“bootimg”), delete(“/tmp/boot.img”));
案例
删除data/local下指定的文本文档
ui_print("delete txt...");
mount("ext4", "EMMC", "/dev/block/data", "/data");
delete("/data/local/aa.txt");
delete("/data/local/bb.txt");
unmount("/data");
Android刷机脚本——updater-script相关推荐
- android 刷机 zip,安卓自制zip刷机包 zip包刷机脚本函数详细例举教程
对于很多狂热于刷机爱好的机友们来说最高的追求就是自制刷机包,那么自制刷机包最重要的不是程序的内置收集,也不是美化或者精简,最重要的是对于刷机包的刷机脚本的编写,鉴于很多同学想学却又找不到资料,今天拉拉 ...
- android 刷机后存储空间变小,手机存储容量与标称不符 剩余的空间跑哪了?
小张最近手机坏了,可对他来说却不是坏事儿"尼玛终于可以找个理由说服自己换个心仪的手机了".可是换上新买的手机小张才发现,明明商家宣传的8G大小的存储空间,肿么到手后内存才6G多?而 ...
- updater-script 刷机脚本语法
转载:半夏月 » updater-script命令详解教你写刷机脚本 查看系统支持哪些命令文件路径:bootable/recovery/updater/bootable/recovery/update ...
- 【转】做Rom其实没什么奥秘,浅显易懂的补丁制作教程,带刷机脚本示例
重要说明: 看完这个帖子,你将学到:刷机脚本的含义,如何对刷机脚本进行简单修改,如何制作补丁,如何往内核里加入G大脚本,甚至如何制作Rom的zip包. 另外,此贴较长,或许以后还会更长,要想学到东西的 ...
- 做Rom其实没什么奥秘,浅显易懂的补丁制作教程,带刷机脚本示例
重要说明: 看完这个帖子,你将学到:刷机脚本的含义,如何对刷机脚本进行简单修改,如何制作补丁,如何往内核里加入G大脚本,甚至如何制作Rom的zip包. 另外,此贴较长,或许以后还会更长,要想学到东西的 ...
- 手机内存解读以及android刷机原理
手机内存分为:机身内存.RAM.ROM 机身内存:相当于 电脑的硬盘 这个一般可以外加SD卡扩充: RAM:相当于 电脑的内存条 可读写,掉电清空 ROM:相当于 电脑的 BIOS ROM 原则上只读 ...
- android刷机教程视频,Android 设备刷机教程
什么是刷机?为什么要刷机? 刷机,一般的手机发烧友最开始接触到的相当有技术含量的一个词,泛指通过软件或者手机自身对系统文件进行更改从而使手机达到自己想要的或者更好的使用效果.有时,智能手机的系统被损坏 ...
- android下怎样伪装mac,Android刷成iOS?史上最强苹果伪装教程
智能手机的最大乐趣就在于"倒腾",不过由于系统不同,通常就会根据用户数量的多寡分出几大派系.目前智能手机中的两大派系就是iOS与Android,排挤也好.嘲笑也罢,二者之间有着永远 ...
- recovery之刷机脚本自定义(解决刷zip文件时出现Status 6错误)
已开通新的博客,后续文字都会发到新博客 http://www.0xfree.top --- 一直没有时间看看关于recovery刷机的内容,昨天突然手痒痒,好久没有刷机了. 但是翻看过硬盘里的所有刷机 ...
最新文章
- Linux上Core Dump文件的形成和分析
- 【思维导图总结——数据库系统概论】关系数据库标准语言SQL
- 避免图像去雾算法中让天空部分出现过增强的一种简易方法
- 张槎地铁站定位综合枢纽 与多条重要轨道交汇
- C++实现计数排序(附完整源码)
- 如何使用ngTemplateOutlet给ng-template模板传递参数
- 普通人和程序员看到的树
- IDEA Maven项目左边栏只能看到pom文件
- 中国成全球第二AI医疗交易国,上半年AI制药融资数等于去年全年 | 报告
- 给Bert加速吧!NLP中的知识蒸馏Distilled BiLSTM论文解读
- python科学计算库-Scipy,主要讲解优化,方程求解,积分,蒙特卡洛,插值计算
- python 代码行数统计工具_Python实现一个代码行数统计工具
- 用C语言编译一元二次方程的求解,用c语言求解一元二次方程
- 360和腾讯之争的建议
- Spring boot与Spring cloud
- java中explain什么意思_explain关键字使用解释
- Scikit-learn_聚类算法_K均值聚类
- 搜索引擎下拉食云速捷详细_搜索框下拉优化淹云速捷讲信誉,下拉词上词77云26速26捷...
- spring和hibernate的整合
- r语言C指数的置信区间,用R语言求置信区间
热门文章
- iOS app跳转到设置权限页面
- 利用HTML+css+js制作侧边栏小广告
- 已经建好的表添加唯一性约束、主键、外键约束
- 数学奥赛VS信息奥赛 | 为孩子选择更好地升学之路!
- 2022年全球市场脱脂小麦胚芽粉总体规模、主要生产商、主要地区、产品和应用细分研究报告
- 手淘flexible适配终端方案(一)
- 圆周率计算程序图计算机基础知识,沪教版(2019)高中信息技术 必修1 项目七 用计算机计算圆周率——设计简单数值数据算法 教案(3课时)...
- 二分查找的递归与非递归实现
- ROS古月资料学习之ROS简介
- python地铁查询系统_地铁python——函数