Root
Linux:Root == Windows:Adminstrator
Android是Linux系统吗?
操作系统 = 系统内核 + 文件系统
Linux发行版:Linux内核 + 文件系统(ext3/4)
Android:Linux内核 + 文件系统(ext3/4)
而Linux是能够脱离X窗体的。
而Linux也是能够脱离这两点的。
然并卵。Linux的内核也分主次,驱动程序也不是不能脱离的,仅仅是去掉后无法识别相应的设备。并不影响Linux的内核的装载和运行。并且在Linux Kernel Configuration里能够自由配置须要卸载的项目。不能由于添加了驱动就觉得不是Linux。并非决定操作系统性质的关键。
推断操作系统种类的并非其上层建筑,而是深层的系统内核和文件结构。
Linux内核中与驱动相关且比較核心的是驱动接口(Linux驱动运行和安装规范)。是一套二进制规范。
综上。Android实质上是Linux。
那么,Root对于Android意味着什么?
Android为什么要Root?
删除非官方或定制系统预装的垃圾应用
控制开机载入项
拥有很多其它权限
调试Linux驱动
改动启动画面
提取Root权限的步骤
1.刷一个合适的Recovery
通过adb reboot bootloader命令或者关机下按组合按键进入bootloader模式。
fastboot:
危急的命令:
自毁命令:
刷Recovery:
重新启动设备
2.改造su命令的源码
3.制作Recovery刷机文件(*.zip)
4.运行su命令提取Root权限
5.让ROM本身拥有Root权限(非必需)
不然进入终端运行su命令后才拥有Root权限。
Edify
Android内嵌脚本语言。用于编写updater-script脚本文件。
updater-script是Recovery Rom和升级包的核心。全然由函数组成。
ui_print(msg_1,…,msg_N);
用于在Recovery界面输出字符串,至少须要一个參数。指定多个參数,会将參数值连起来输出。
run_program(prog, arg1,…,argN);
该函数用于运行程序,prog參数是必需的,表示要运行程序文件的完整路径。
其它參数可选。如:
delete(file1,…,fileN);
删除一个或多个文件,參数为文件的路径。如:
package_extract_dir(package_path, destination_path);
用于提取刷机包指定文件夹package_path的全部文件到目标文件夹destination_path。
set_perm(uid, gid, mode, file1,…fileN);
设置一个或多个文件的权限。
uid是用户id。gid是用户组id。
假设想让文件的用户和用户组都是Root,须要将uid和gid设为0。
mount(fs_type, partition_type, location, mount_point);
挂载分区。如:
unmount(mount_point);
卸载分区。
如:
$(function () {
$('pre.prettyprint code').each(function () {
var lines = $(this).text().split('\n').length;
var $numbering = $('
$(this).addClass('has-numbering').parent().append($numbering);
for (i = 1; i ').text(i));
};
$numbering.fadeIn(1700);
});
});