From 2d2c7905f5e7bbbe288b4d8f82e8911e5cb2df6f Mon Sep 17 00:00:00 2001 From: Howard Wu Date: Sat, 13 Jul 2024 18:35:09 +0800 Subject: [PATCH] Enhanced compatibility Support https://github.com/topjohnwu/Magisk/commit/fb5ee86615ed3df830e8538f8b39b1b133caea34 --- scripts/build.sh | 17 +++++++++++++---- scripts/extractMagisk.py | 7 +++++-- 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/scripts/build.sh b/scripts/build.sh index 72b71db67..6ba080333 100755 --- a/scripts/build.sh +++ b/scripts/build.sh @@ -484,8 +484,16 @@ fi if [ "$ROOT_SOL" = "magisk" ]; then echo "Integrating Magisk" - "$WORK_DIR/magisk/magiskboot" compress=xz "$WORK_DIR/magisk/magisk64" "$WORK_DIR/magisk/magisk64.xz" - "$WORK_DIR/magisk/magiskboot" compress=xz "$WORK_DIR/magisk/magisk32" "$WORK_DIR/magisk/magisk32.xz" + SKIP="#" + SINGLEABI="#" + if [ -f "$WORK_DIR/magisk/magisk64" ]; then + "$WORK_DIR/magisk/magiskboot" compress=xz "$WORK_DIR/magisk/magisk64" "$WORK_DIR/magisk/magisk64.xz" + "$WORK_DIR/magisk/magiskboot" compress=xz "$WORK_DIR/magisk/magisk32" "$WORK_DIR/magisk/magisk32.xz" + unset SKIP + else + "$WORK_DIR/magisk/magiskboot" compress=xz "$WORK_DIR/magisk/magisk" "$WORK_DIR/magisk/magisk.xz" + unset SINGLEABI + fi "$WORK_DIR/magisk/magiskboot" compress=xz "$MAGISK_PATH" "$WORK_DIR/magisk/stub.xz" "$WORK_DIR/magisk/magiskboot" cpio "$WORK_DIR/wsa/$ARCH/Tools/initrd.img" \ "mv /init /wsainit" \ @@ -494,8 +502,9 @@ if [ "$ROOT_SOL" = "magisk" ]; then "add 0750 /magiskinit $WORK_DIR/magisk/magiskinit" \ "mkdir 0750 overlay.d" \ "mkdir 0750 overlay.d/sbin" \ - "add 0644 overlay.d/sbin/magisk64.xz $WORK_DIR/magisk/magisk64.xz" \ - "add 0644 overlay.d/sbin/magisk32.xz $WORK_DIR/magisk/magisk32.xz" \ + "$SKIP add 0644 overlay.d/sbin/magisk64.xz $WORK_DIR/magisk/magisk64.xz" \ + "$SKIP add 0644 overlay.d/sbin/magisk32.xz $WORK_DIR/magisk/magisk32.xz" \ + "$SINGLEABI add 0644 overlay.d/sbin/magisk.xz $WORK_DIR/magisk/magisk.xz" \ "add 0644 overlay.d/sbin/stub.xz $WORK_DIR/magisk/stub.xz" \ "mkdir 000 .backup" \ "add 000 overlay.d/init.lsp.magisk.rc init.lsp.magisk.rc" \ diff --git a/scripts/extractMagisk.py b/scripts/extractMagisk.py index b5a80dfec..37ed4c9ea 100644 --- a/scripts/extractMagisk.py +++ b/scripts/extractMagisk.py @@ -71,7 +71,10 @@ def extract_as(zip, name, as_name, dir): env.MAGISK_VERSION_CODE = versionCode with open(os.environ['WSA_WORK_ENV'], 'w') as environ_file: environ_file.write(str(env)) - extract_as(zip, f"lib/{ abi_map[arch][0] }/libmagisk64.so", "magisk64", "magisk") - extract_as(zip, f"lib/{ abi_map[arch][1] }/libmagisk32.so", "magisk32", "magisk") + if f"lib/{ abi_map[arch][0] }/libmagisk64.so" in zip.namelist(): + extract_as(zip, f"lib/{ abi_map[arch][0] }/libmagisk64.so", "magisk64", "magisk") + extract_as(zip, f"lib/{ abi_map[arch][1] }/libmagisk32.so", "magisk32", "magisk") + else: + extract_as(zip, f"lib/{ abi_map[arch][0] }/libmagisk.so", "magisk", "magisk") extract_as(zip, f"lib/{ abi_map[arch][0] }/libmagiskinit.so", "magiskinit", "magisk") extract_as(zip, f"lib/{ abi_map[host_abi][0] }/libmagiskboot.so", "magiskboot", "magisk")