-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
11 changed files
with
328 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
# Declare files that will always have LF line endings on checkout. | ||
META-INF/** text eol=lf | ||
*.prop text eol=lf | ||
*.sh text eol=lf | ||
*.md text eol=lf | ||
|
||
# Denote all files that are truly binary and should not be modified. | ||
system/** binary |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,155 @@ | ||
#!/sbin/sh | ||
########################################################################################## | ||
# | ||
# Magisk 模块安装脚本模板 | ||
# by topjohnwu | ||
# 翻译: cjybyjk | ||
# | ||
########################################################################################## | ||
|
||
TMPDIR=/dev/tmp | ||
INSTALLER=$TMPDIR/install | ||
# 总在 tmp 下挂载 | ||
MOUNTPATH=$TMPDIR/magisk_img | ||
|
||
# 默认权限 | ||
umask 022 | ||
|
||
# 清除工作 | ||
rm -rf $TMPDIR 2>/dev/null | ||
mkdir -p $INSTALLER | ||
|
||
# 在加载 util_functions 前 echo | ||
ui_print() { echo "$1"; } | ||
|
||
require_new_magisk() { | ||
ui_print "*******************************" | ||
ui_print " 请安装 Magisk v17.0+! " | ||
ui_print "*******************************" | ||
exit 1 | ||
} | ||
|
||
########################################################################################## | ||
# 环境设置 | ||
########################################################################################## | ||
|
||
OUTFD=$2 | ||
ZIP=$3 | ||
|
||
mount /data 2>/dev/null | ||
|
||
# 加载公用函数 | ||
if [ -f /data/adb/magisk/util_functions.sh ]; then | ||
. /data/adb/magisk/util_functions.sh | ||
elif [ -f /data/magisk/util_functions.sh ]; then | ||
NVBASE=/data | ||
. /data/magisk/util_functions.sh | ||
else | ||
require_new_magisk | ||
fi | ||
|
||
# 如果处于 BOOTMODE(系统模式),则使用替代镜像 | ||
$BOOTMODE && IMG=$NVBASE/magisk_merge.img | ||
|
||
# 准备卡刷 zip 包 | ||
setup_flashable | ||
|
||
# 挂载分区 | ||
mount_partitions | ||
|
||
# 检测版本和架构 | ||
api_level_arch_detect | ||
|
||
# 你可以从 $API 取得 Android API 版本, 从 $ARCH 取得 CPU 架构 | ||
# 如果您正在创建依赖特定 Android版本/平台 的模块,这是非常有用的 | ||
|
||
# 安装 busybox 和二进制文件 | ||
$BOOTMODE && boot_actions || recovery_actions | ||
|
||
########################################################################################## | ||
# 准备 | ||
########################################################################################## | ||
|
||
# 提取公共文件 | ||
unzip -o "$ZIP" module.prop config.sh 'common/*' -d $INSTALLER >&2 | ||
|
||
[ ! -f $INSTALLER/config.sh ] && abort "! 从 zip 中提取文件失败!" | ||
# 加载设置 | ||
. $INSTALLER/config.sh | ||
|
||
# 检查已安装的 Magisk 版本 | ||
MIN_VER=`grep_prop minMagisk $INSTALLER/module.prop` | ||
[ ! -z $MAGISK_VER_CODE -a $MAGISK_VER_CODE -ge $MIN_VER ] || require_new_magisk | ||
MODID=`grep_prop id $INSTALLER/module.prop` | ||
MODPATH=$MOUNTPATH/$MODID | ||
|
||
# 打印模块名称 | ||
print_modname | ||
|
||
# 请将这个信息保留在您的 zip 卡刷包中 :) | ||
ui_print "******************************" | ||
ui_print "Powered by Magisk (@topjohnwu)" | ||
ui_print "******************************" | ||
|
||
########################################################################################## | ||
# 安装 | ||
########################################################################################## | ||
|
||
# 获取变量 reqSizeM。如果需要,可以使用自己的方法来确定 reqSizeM | ||
# reqSizeM 为安装这个模块需要的空间大小, 单位MB | ||
request_zip_size_check "$ZIP" | ||
|
||
# 这个函数将挂载 $IMG 到 $MOUNTPATH,并根据 $reqSizeM 调整镜像大小 | ||
mount_magisk_img | ||
|
||
# 创建模块路径 | ||
rm -rf $MODPATH 2>/dev/null | ||
mkdir -p $MODPATH | ||
|
||
# 将文件解压缩到 system 。如果需要,可以使用自己的方法 | ||
ui_print "- 正在解压模块文件" | ||
unzip -o "$ZIP" 'system/*' -d $MODPATH >&2 | ||
|
||
# 删除 placeholder | ||
rm -f $MODPATH/system/placeholder 2>/dev/null | ||
|
||
# 处理 replace 文件夹 | ||
for TARGET in $REPLACE; do | ||
mktouch $MODPATH$TARGET/.replace | ||
done | ||
|
||
# 自动挂载 | ||
$AUTOMOUNT && touch $MODPATH/auto_mount | ||
|
||
# prop 文件 | ||
$PROPFILE && cp -af $INSTALLER/common/system.prop $MODPATH/system.prop | ||
|
||
# 模块信息 | ||
cp -af $INSTALLER/module.prop $MODPATH/module.prop | ||
if $BOOTMODE; then | ||
# 为 Magisk Manager 更新信息 | ||
mktouch /sbin/.core/img/$MODID/update | ||
cp -af $INSTALLER/module.prop /sbin/.core/img/$MODID/module.prop | ||
fi | ||
|
||
# post-fs-data 模式脚本 | ||
$POSTFSDATA && cp -af $INSTALLER/common/post-fs-data.sh $MODPATH/post-fs-data.sh | ||
|
||
# service 模式脚本 | ||
$LATESTARTSERVICE && cp -af $INSTALLER/common/service.sh $MODPATH/service.sh | ||
|
||
ui_print "- 正在设置权限" | ||
set_permissions | ||
|
||
########################################################################################## | ||
# 结束 | ||
########################################################################################## | ||
|
||
# 卸载 magisk 镜像, 并尽可能地缩小它 | ||
unmount_magisk_img | ||
|
||
$BOOTMODE || recovery_cleanup | ||
rm -rf $TMPDIR | ||
|
||
ui_print "- 完成" | ||
exit 0 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
#MAGISK |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,39 @@ | ||
# Android_Debug_Bridge_On_Android | ||
adb | ||
# Android Debug Bridge On Android | ||
|
||
在你的Android设备上使用Android Debug Bridge(包括Fastboot) | ||
|
||
# 这是什么? | ||
|
||
Android Debug Bridge,简称ADB。 | ||
|
||
这是一套 Android 调试工具,可以对任何 Android 设备进行 Debug 级操作。 | ||
|
||
包括一些非常危险的操作,Android Debug Bridge都能完成。 | ||
|
||
你甚至能在 Android Debug Bridge 上直接使用设备的 Shell,而且能直接进行比普通的 Android Shell 权限要求更高的操作。 | ||
|
||
这也催生了一些有趣的玩法,如:Brevent (黑阈),IceBox(冰箱),Island(岛) | ||
|
||
这个 Magisk Module 就可以让你在你的 Android Shell 上(如:NeoTerm,Termux,TermialEmu)运行 Android Debug Bridge。 | ||
|
||
而且,Fastboot 工具也随该模块自带。 | ||
|
||
# 如何使用? | ||
|
||
安装此模块后,打开你的 Android 终端,在里面输入: `adb [command]` 即可使用 Android Debug Bridge。 | ||
|
||
输入: `fastboot [command]` 即可使用 Fastboot 工具。 | ||
|
||
具体怎么用,我想你还是 [百度](https://www.baidu.com) 或 [Google HK](https://www.google.com.hk) 一下吧。 | ||
|
||
毕竟我教不会。 | ||
|
||
# 一些有趣的玩法…… | ||
|
||
其实你可以使用该 Fastboot 工具,给其他的 Android 设备进行刷机(解锁bootloader,刷Recovery,甚至救砖)操作。当然了,你要有一根可以连接两台手机的线。(手动滑稽) | ||
|
||
而且你可以用该 ADB 工具,给其他的 Android 设备进行调试。(再次手动滑稽) | ||
|
||
其实,只要你想的出来,它都可以做,真的。(最后一次滑稽) | ||
|
||
# 如果你想在 Android 端调试 Android 设备,这个模块一定适合你! |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
#!/system/bin/sh | ||
# 请不要硬编码 /magisk/modname/... ; 请使用 $MODDIR/... | ||
# 这将使你的脚本更加兼容,即使Magisk在未来改变了它的挂载点 | ||
MODDIR=${0%/*} | ||
|
||
# 这个脚本将以 post-fs-data 模式执行 | ||
# 更多信息请访问 Magisk 主题 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
#!/system/bin/sh | ||
# 请不要硬编码 /magisk/modname/... ; 请使用 $MODDIR/... | ||
# 这将使你的脚本更加兼容,即使Magisk在未来改变了它的挂载点 | ||
MODDIR=${0%/*} | ||
|
||
# 这个脚本将以 late_start service 模式执行 | ||
# 更多信息请访问 Magisk 主题 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
# 这个文件将被 resetprop 读取 | ||
# 示例: 改变 dpi | ||
# ro.sf.lcd_density=320 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,101 @@ | ||
########################################################################################## | ||
# | ||
# Magisk 模块配置脚本示例 | ||
# by topjohnwu | ||
# 翻译: cjybyjk | ||
# | ||
########################################################################################## | ||
########################################################################################## | ||
# | ||
# 说明: | ||
# | ||
# 1. 将您的文件放入 system 文件夹 (删除 placeholder 文件) | ||
# 2. 将模块信息写入 module.prop | ||
# 3. 在这个文件中进行设置 (config.sh) | ||
# 4. 如果您需要在启动时执行命令, 请把它们加入 common/post-fs-data.sh 或 common/service.sh | ||
# 5. 如果需要修改系统属性(build.prop), 请把它加入 common/system.prop | ||
# | ||
########################################################################################## | ||
|
||
########################################################################################## | ||
# 配置 | ||
########################################################################################## | ||
|
||
# 如果您需要启用 Magic Mount, 请把它设置为 true | ||
# 大多数模块都需要启用它 | ||
AUTOMOUNT=true | ||
|
||
# 如果您需要加载 system.prop, 请把它设置为 true | ||
PROPFILE=false | ||
|
||
# 如果您需要执行 post-fs-data 脚本, 请把它设置为 true | ||
POSTFSDATA=false | ||
|
||
# 如果您需要执行 service 脚本, 请把它设置为 true | ||
LATESTARTSERVICE=false | ||
|
||
########################################################################################## | ||
# 安装信息 | ||
########################################################################################## | ||
|
||
# 在这里设置您想要在模块安装过程中显示的信息 | ||
|
||
print_modname() { | ||
ui_print "*******************************" | ||
ui_print " Android Debug Bridge On Android " | ||
ui_print " 版本:1.0.36 " | ||
ui_print " 作者:FLASHing vs Crixec " | ||
ui_print "*******************************" | ||
} | ||
|
||
########################################################################################## | ||
# 替换列表 | ||
########################################################################################## | ||
|
||
# 列出您想在系统中直接替换的所有目录 | ||
# 查看文档,了解更多关于Magic Mount如何工作的信息,以及您为什么需要它 | ||
|
||
# 这是个示例 | ||
REPLACE=" | ||
/system/app/Youtube | ||
/system/priv-app/SystemUI | ||
/system/priv-app/Settings | ||
/system/framework | ||
" | ||
|
||
# 在这里构建您自己的列表,它将覆盖上面的示例 | ||
# 如果你不需要替换任何东西,!千万不要! 删除它,让它保持现在的状态 | ||
REPLACE=" | ||
" | ||
|
||
########################################################################################## | ||
# 权限设置 | ||
########################################################################################## | ||
|
||
set_permissions() { | ||
# 只有一些特殊文件需要特定的权限 | ||
# 默认的权限应该适用于大多数情况 | ||
|
||
# 下面是 set_perm 函数的一些示例: | ||
|
||
# set_perm_recursive <目录> <所有者> <用户组> <目录权限> <文件权限> <上下文> (默认值是: u:object_r:system_file:s0) | ||
# set_perm_recursive $MODPATH/system/lib 0 0 0755 0644 | ||
|
||
# set_perm <文件名> <所有者> <用户组> <文件权限> <上下文> (默认值是: u:object_r:system_file:s0) | ||
# set_perm $MODPATH/system/bin/app_process32 0 2000 0755 u:object_r:zygote_exec:s0 | ||
# set_perm $MODPATH/system/bin/dex2oat 0 2000 0755 u:object_r:dex2oat_exec:s0 | ||
# set_perm $MODPATH/system/lib/libart.so 0 0 0644 | ||
|
||
# 以下是默认权限,请勿删除 | ||
set_perm_recursive $MODPATH 0 0 0755 0644 | ||
} | ||
|
||
########################################################################################## | ||
# 自定义函数 | ||
########################################################################################## | ||
|
||
# 这个文件 (config.sh) 将被安装脚本在 util_functions.sh 之后 source 化(设置为环境变量) | ||
# 如果你需要自定义操作, 请在这里以函数方式定义它们, 然后在 update-binary 里调用这些函数 | ||
# 不要直接向 update-binary 添加代码,因为这会让您很难将模块迁移到新的模板版本 | ||
# 尽量不要对 update-binary 文件做其他修改,尽量只在其中执行函数调用 | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
id=adb | ||
name=Android Debug Bridge On Android | ||
version=1.0.36 | ||
versionCode=1 | ||
author=FLASHing vs Crixec | ||
description=在你的Android设备上使用Android Debug Bridge(包括Fastboot) | ||
minMagisk=17000 |
Binary file not shown.
Binary file not shown.