-
Notifications
You must be signed in to change notification settings - Fork 1
/
customize.sh
143 lines (126 loc) · 5.87 KB
/
customize.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
##########################################################################################
#
# Magisk模块安装脚本
#
##########################################################################################
##########################################################################################
#
# 使用说明:
#
# 1. 将文件放入系统文件夹(删除placeholder文件)
# 2. 在module.prop中填写您的模块信息
# 3. 在此文件中配置和调整
# 4. 如果需要开机执行脚本,请将其添加到post-fs-data.sh或service.sh
# 5. 将其他或修改的系统属性添加到system.prop
#
##########################################################################################
##########################################################################################
#
# 安装框架将导出一些变量和函数。
# 您应该使用这些变量和函数来进行安装。
#
# !请不要使用任何Magisk的内部路径,因为它们不是公共API。
# !请不要在util_functions.sh中使用其他函数,因为它们也不是公共API。
# !不能保证非公共API在版本之间保持兼容性。
#
# 可用变量:
#
# MAGISK_VER (string):当前已安装Magisk的版本的字符串(字符串形式的Magisk版本)
# MAGISK_VER_CODE (int):当前已安装Magisk的版本的代码(整型变量形式的Magisk版本)
# BOOTMODE (bool):如果模块当前安装在Magisk Manager中,则为true。
# MODPATH (path):你的模块应该被安装到的路径
# TMPDIR (path):一个你可以临时存储文件的路径
# ZIPFILE (path):模块的安装包(zip)的路径
# ARCH (string): 设备的体系结构。其值为arm、arm64、x86、x64之一
# IS64BIT (bool):如果$ARCH(上方的ARCH变量)为arm64或x64,则为true。
# API (int):设备的API级别(Android版本)
#
# 可用函数:
#
# ui_print <msg>
# 打印(print)<msg>到控制台
# 避免使用'echo',因为它不会显示在定制recovery的控制台中。
#
# abort <msg>
# 打印错误信息<msg>到控制台并终止安装
# 避免使用'exit',因为它会跳过终止的清理步骤
#
##########################################################################################
##########################################################################################
# 变量
##########################################################################################
# 如果您需要更多的自定义,并且希望自己做所有事情
# 请在custom.sh中标注SKIPUNZIP=1
# 以跳过提取操作并应用默认权限/上下文上下文步骤。
# 请注意,这样做后,您的custom.sh将负责自行安装所有内容。
SKIPUNZIP=0
# 如果您需要调用Magisk内部的busybox
# 请在custom.sh中标注ASH_STANDALONE=1
ASH_STANDALONE=0
##########################################################################################
# 替换列表
##########################################################################################
# 列出你想在系统中直接替换的所有目录
# 查看文档,了解更多关于Magic Mount如何工作的信息,以及你为什么需要它
# 按照以下格式构建列表
# 这是一个示例
REPLACE_EXAMPLE="
/system/app/Youtube
/system/priv-app/SystemUI
/system/priv-app/Settings
/system/framework
"
# 在这里建立您自己的清单
REPLACE="
"
##########################################################################################
# 安装设置
##########################################################################################
# 如果SKIPUNZIP=1你将可能会需要使用以下代码
# 当然,你也可以自定义安装脚本,需要时请删除#
# 将 $ZIPFILE 提取到 $MODPATH
# ui_print "- 解压模块文件"
# unzip -o "$ZIPFILE" -x 'META-INF/*' -d $MODPATH >&2
# 删除多余文件
# rm -rf \
# $MODPATH/system/placeholder $MODPATH/customize.sh \
# $MODPATH/*.md $MODPATH/.git* $MODPATH/LICENSE 2>/dev/null
##########################################################################################
# 权限设置
##########################################################################################
# 请注意,magisk模块目录中的所有文件/文件夹都有$MODPATH前缀-在所有文件/文件夹中保留此前缀
# 一些例子:
# 对于目录(包括文件):
# set_perm_recursive <目录> <所有者> <用户组> <目录权限> <文件权限> <上下文> (默认值是: u:object_r:system_file:s0)
# set_perm_recursive $MODPATH/system/lib 0 0 0755 0644
# set_perm_recursive $MODPATH/system/vendor/lib/soundfx 0 0 0755 0644
# 对于文件(不包括文件所在目录)
# set_perm <文件名> <所有者> <用户组> <文件权限> <上下文> (默认值是: u:object_r:system_file:s0)
# set_perm $MODPATH/system/lib/libart.so 0 0 0644
# set_perm /data/local/tmp/file.txt 0 0 644
on_install() {
# mars
touch "${MODPATH}/.replace"
thermals_mars=$(find /system/vendor/etc/ -maxdepth 1 -name '*k1a*' -not -name '*thermald*' -not -name '*nolimits*')
ui_print "mars: replacing all thermal confs with nolimits"
for thermal_mars in $thermals_mars; do
ui_print "$thermal_mars"
[[ ! -d $MODPATH/${thermal_mars%/*} ]] && mkdir -p $MODPATH/${thermal_mars%/*}
cp /system/vendor/etc/thermal-k1a-nolimits.conf "${MODPATH}/$thermal_mars"
done
# star
thermals_star=$(find /system/vendor/etc/ -maxdepth 1 -name 'thermal-*' -not -name '*k1a*' -not -name '*nolimits*')
ui_print "star: replacing all thermal confs with nolimits"
for thermal_star in $thermals_star; do
ui_print "$thermal_star"
[[ ! -d $MODPATH/${thermal_star%/*} ]] && mkdir -p $MODPATH/${thermal_star%/*}
cp /system/vendor/etc/thermal-k1a-nolimits.conf "${MODPATH}/$thermal_star"
done
[[ -f /data/current ]] && rm -rf /data/current
chattr -i /data/vendor/thermal
chattr -i /data/vendor/thermal/config
rm -rf /data/vendor/thermal/config/*
chattr +i /data/vendor/thermal/config
}
# 默认权限请勿删除
set_perm_recursive $MODPATH 0 0 0755 0644