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)