fix: 更新 device.mk 文件以添加 bootanim.rc 和相关文件的权限设置,同时删除 extract.py 和 magisk.rc 文件,简化项目结构,确保与最新的 Magisk 版本一致。

This commit is contained in:
2025-09-18 11:09:20 +08:00
parent c488b9a373
commit a0007649e9
5 changed files with 34 additions and 166 deletions

View File

@@ -7,9 +7,9 @@ from tools.helper import bcolors, download_file, host, print_color, run, get_dow
class Magisk(General):
download_loc = get_download_dir()
dl_link = "https://github.com/ayasa520/Magisk/releases/download/debug-7be6d81-30200/Magisk-7be6d81-30200-debug.apk"
dl_link = "https://github.com/topjohnwu/Magisk/releases/download/v30.2/Magisk-v30.2.apk"
dl_file_name = os.path.join(download_loc, "magisk.apk")
act_md5 = "834b0f063ea713bea48b92c7d5648ce9"
act_md5 = "2691c30ccf059af2536cb0af803c787c"
extract_to = "/tmp/magisk_unpack"
copy_dir = "./magisk"
magisk_dir = os.path.join(copy_dir, "system", "etc", "init", "magisk")
@@ -71,14 +71,28 @@ on property:init.svc.zygote=stopped
"arm64": "arm64-v8a"
}
lib_dir = os.path.join(self.extract_to, "lib", arch_map[self.machine[0]])
for parent, dirnames, filenames in os.walk(lib_dir):
for filename in filenames:
o_path = os.path.join(lib_dir, filename)
filename = re.search('lib(.*)\.so', filename)
n_path = os.path.join(self.magisk_dir, filename.group(1))
shutil.copyfile(o_path, n_path)
run(["chmod", "+x", n_path])
shutil.copyfile(self.dl_file_name, os.path.join(self.magisk_dir,"magisk.apk") )
if os.path.exists(lib_dir):
for parent, dirnames, filenames in os.walk(lib_dir):
for filename in filenames:
o_path = os.path.join(lib_dir, filename)
so_name = re.search(r'lib(.*)\.so', filename)
if so_name:
n_path = os.path.join(self.magisk_dir, so_name.group(1))
shutil.copyfile(o_path, n_path)
run(["chmod", "+x", n_path])
# 同时复制 arm32 的 magisk 二进制文件(如果存在)
lib32_path = os.path.join(self.extract_to, "lib", "armeabi-v7a")
magisk32_src = os.path.join(lib32_path, "libmagisk32.so")
magisk32_dst = os.path.join(self.magisk_dir, "magisk32")
if os.path.exists(magisk32_src):
shutil.copyfile(magisk32_src, magisk32_dst)
run(["chmod", "+x", magisk32_dst])
# Copy magisk.apk to target directory
apk_dst = os.path.join(self.magisk_dir, "magisk.apk")
if os.path.exists(self.dl_file_name):
shutil.copyfile(self.dl_file_name, apk_dst)
# Updating Magisk from Magisk manager will modify bootanim.rc,
# So it is necessary to backup the original bootanim.rc.