From b74201630d88e049f4da55ea5c8e10770b6d1e78 Mon Sep 17 00:00:00 2001 From: CoderKang Date: Thu, 18 Sep 2025 16:42:54 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=9B=B4=E6=96=B0=20magisk.py=20?= =?UTF-8?q?=E6=96=87=E4=BB=B6=EF=BC=8C=E8=B0=83=E6=95=B4=E7=9B=AE=E6=A0=87?= =?UTF-8?q?=E7=9B=AE=E5=BD=95=E7=9A=84=E5=88=9B=E5=BB=BA=E9=80=BB=E8=BE=91?= =?UTF-8?q?=EF=BC=8C=E7=A1=AE=E4=BF=9D=20magisk=20=E7=9B=B8=E5=85=B3?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E7=9A=84=E6=AD=A3=E7=A1=AE=E5=A4=8D=E5=88=B6?= =?UTF-8?q?=E5=92=8C=E6=9E=84=E5=BB=BA=E6=B5=81=E7=A8=8B=E7=9A=84=E5=AE=8C?= =?UTF-8?q?=E6=95=B4=E6=80=A7=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Android.mk | 2 +- device.mk | 9 +++++++-- magisk.py | 9 ++++----- 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/Android.mk b/Android.mk index 738983d..9f7833e 100644 --- a/Android.mk +++ b/Android.mk @@ -3,7 +3,7 @@ LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := magisk -LOCAL_SRC_FILES := magisk/system/etc/init/magisk/magisk.apk +LOCAL_SRC_FILES := magisk/system/etc/init/magisk.apk LOCAL_MODULE_CLASS := APPS LOCAL_CERTIFICATE := platform LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX) diff --git a/device.mk b/device.mk index 55bd294..c0a6ce3 100644 --- a/device.mk +++ b/device.mk @@ -2,5 +2,10 @@ PRODUCT_PACKAGES += \ magisk PRODUCT_COPY_FILES += \ - vendor/magisk/magisk.rc:$(TARGET_COPY_OUT_SYSTEM)/etc/init/magisk.rc - $(call find-copy-subdir-files, vendor/magisk/magisk, $(TARGET_COPY_OUT_SYSTEM)/etc/init/) + $(shell mkdir -p $(TARGET_OUT)/sbin) \ + vendor/magisk/magisk.rc:$(TARGET_COPY_OUT_SYSTEM)/etc/init/magisk.rc \ + vendor/magisk/magisk:$(TARGET_COPY_OUT_SYSTEM)/etc/init/magisk/magisk \ + vendor/magisk/magiskpolicy:$(TARGET_COPY_OUT_SYSTEM)/etc/init/magisk/magiskpolicy \ + vendor/magisk/magiskboot:$(TARGET_COPY_OUT_SYSTEM)/etc/init/magisk/magiskboot \ + vendor/magisk/magiskinit:$(TARGET_COPY_OUT_SYSTEM)/etc/init/magisk/magiskinit \ + vendor/magisk/busybox:$(TARGET_COPY_OUT_SYSTEM)/etc/init/magisk/busybox diff --git a/magisk.py b/magisk.py index 36cec48..a9bd62e 100644 --- a/magisk.py +++ b/magisk.py @@ -59,7 +59,6 @@ class Magisk: self.act_md5 = "2691c30ccf059af2536cb0af803c787c" self.extract_to = os.path.join(os.path.dirname(os.path.abspath(__file__)), "temp") self.copy_dir = os.path.join(os.path.dirname(os.path.abspath(__file__)), "magisk") - self.magisk_dir = os.path.join(self.copy_dir, "system", "etc", "init", "magisk") self.machine = get_host_arch() def download(self): @@ -106,7 +105,7 @@ class Magisk: # 清理并创建目标目录 if os.path.exists(self.copy_dir): shutil.rmtree(self.copy_dir) - os.makedirs(self.magisk_dir, exist_ok=True) + os.makedirs(self.copy_dir, exist_ok=True) os.makedirs(os.path.join(self.copy_dir, "sbin"), exist_ok=True) # 架构映射 @@ -125,20 +124,20 @@ class Magisk: 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)) + n_path = os.path.join(self.copy_dir, so_name.group(1)) shutil.copyfile(o_path, n_path) run_command(["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") + magisk32_dst = os.path.join(self.copy_dir, "magisk32") if os.path.exists(magisk32_src): shutil.copyfile(magisk32_src, magisk32_dst) run_command(["chmod", "+x", magisk32_dst]) # 复制 magisk.apk 到目标目录 - apk_dst = os.path.join(self.magisk_dir, "magisk.apk") + apk_dst = os.path.join(self.copy_dir, "magisk.apk") if os.path.exists(self.dl_file_name): shutil.copyfile(self.dl_file_name, apk_dst)