ADB Root 项目使用教程
1. 项目的目录结构及介绍
ADB Root 项目的目录结构如下:
adb_root/
├── META-INF/
│ └── com/
│ └── google/
│ └── android/
├── system/
│ └── bin/
├── .gitattributes
├── .gitignore
├── LICENSE
├── Makefile
├── README.md
├── module.prop
└── sepolicy_rules
目录介绍
META-INF/
: 包含用于 Magisk 模块的安装脚本。system/bin/
: 包含系统二进制文件的修改。.gitattributes
: Git 属性文件。.gitignore
: Git 忽略文件。LICENSE
: 项目许可证文件。Makefile
: 用于构建项目的 Makefile。README.md
: 项目说明文档。module.prop
: Magisk 模块配置文件。sepolicy_rules
: SELinux 策略规则文件。
2. 项目的启动文件介绍
项目的启动文件主要位于 META-INF/
目录下,具体包括:
update-binary
: 这是 Magisk 模块的安装脚本,负责在设备上安装和配置 ADB Root 功能。updater-script
: 这是安装脚本的辅助文件,定义了安装过程中的具体步骤。
3. 项目的配置文件介绍
项目的配置文件主要包括:
module.prop
: 这个文件定义了 Magisk 模块的基本信息,如模块 ID、名称、版本等。
id=adb_root
name=ADB Root
version=1.0
versionCode=1
author=evdenis
description=Magisk module to enable adb root on Android 10
sepolicy_rules
: 这个文件包含了 SELinux 策略规则,用于允许 ADB 守护进程以 root 权限运行。
type adbd_t;
type adbd_exec_t;
typeattribute adbd_t adbd_exec_t;
allow adbd_t self:capability sys_admin;
allow adbd_t self:capability sys_ptrace;
allow adbd_t self:process setcurrent;
allow adbd_t self:process { getsched setsched };
allow adbd_t self:fifo_file { read write };
allow adbd_t self:unix_stream_socket { connectto create getopt setopt };
allow adbd_t self:unix_dgram_socket { create getopt setopt };
allow adbd_t self:netlink_audit_socket { create bind read write };
allow adbd_t self:netlink_kobject_uevent_socket { create bind read write };
allow adbd_t self:netlink_selinux_socket { create bind read write };
allow adbd_t self:packet_socket { create bind read write };
allow adbd_t self:rawip_socket { create bind read write };
allow adbd_t self:tcp_socket { accept bind create listen read write };
allow adbd_t self:udp_socket { bind create read write };
allow adbd_t self:socket_device { read write };
allow adbd_t self:chr_file { read write };
allow adbd_t self:dir { add_name create getattr read remove_name write };
allow adbd_t self:file { create getattr read write unlink };
allow adbd_t self:lnk_file { read };
allow adbd_t self:sock_file { create getattr read write unlink };
allow adbd_t self:fifo_file { create getattr read write unlink };
allow adbd_t self:blk_file { read write };
allow adbd_t self:filesystem { mount };
allow adbd_t self:fs_type { mount };
allow adbd_t self:process { getsched setsched };
allow adbd_t self:fd { use };
allow adbd_t self:fifo_file { read write };
allow adbd_t self:unix_stream_socket { connectto create getopt setopt };
allow adbd_t self:unix_dgram_socket { create getopt setopt };
allow adbd_t self:netlink_audit_socket { create bind read write };
allow adbd_t self:netlink_kobject_uevent