cuttlefish 集成 magisk
适用于安卓9的cuttlefish,它使用的是ramdisk.img+kernel+cmdline三个单独的文件,而不是用boot.img。
- adb安装magisk25.2
github上topjohnwu/Magisk的Magisk-v25.2.apk - patch
- 将boot.img放到模拟器中
adb push boot.img /sdcard
- 打开Magisk,点击install,按照提示来,最后选择boot.img进行patch
- 得到 /sdcard/Download/magisk_patched_25200_xxx.img,adb pull到电脑上。
- 将boot.img放到模拟器中
- 解包得到ramdisk.img
-
magisk实际上只patch了ramdisk.img,kernel虽然有patch的逻辑,但是没匹配上。
-
下载AIK工具: github上的osm0sis/Android-Image-Kitchen ,直接下载zip或者git clone就行了。
-
将magisk_patched_25200_xxx.img放到AIK的目录中,打开命令行运行
./unpackimg.sh
(需要用root运行)。- eg:
root@xx:/home/xx/bin/AIK-Linux# ./unpackimg.sh Android Image Kitchen - UnpackImg Script by osm0sis @ xda-developers Supplied image: magisk_patched-25200_wN5Xd.img Setting up work folders... Image type: AOSP Splitting image to "split_img/"... ANDROID! magic found at: 0 BOARD_KERNEL_CMDLINE loop.max_part=7 console=ttyS0 androidboot.console=ttyS1 androidboot.hardware=vsoc enforcing=0 audit=1 androidboot.selinux=permissive mac80211_hwsim.radios=0 security=selinux buildvariant=eng BOARD_KERNEL_BASE 0x10000000 BOARD_NAME BOARD_PAGE_SIZE 2048 BOARD_HASH_TYPE sha1 BOARD_KERNEL_OFFSET 0x00008000 BOARD_RAMDISK_OFFSET 0x01000000 BOARD_SECOND_OFFSET 0x00f00000 BOARD_TAGS_OFFSET 0x00000100 BOARD_OS_VERSION 9.0.0 BOARD_OS_PATCH_LEVEL 2018-08 BOARD_HEADER_VERSION 0 Unpacking ramdisk (as root) to "ramdisk/"... Warning: Using cpio 2.13 may result in an unusable repack; downgrade to 2.12 to be safe! Compression used: gzip 9327 blocks Done!
- 看输出:
root@xx:/home/xx/bin/AIK-Linux# ls authors.txt bin cleanup.sh magisk_patched-25200_wN5Xd.img ramdisk repackimg.sh split_img unpackimg.sh root@xx:/home/xx/bin/AIK-Linux# ls split_img/ magisk_patched-25200_wN5Xd.img-base magisk_patched-25200_wN5Xd.img-kernel magisk_patched-25200_wN5Xd.img-ramdiskcomp magisk_patched-25200_wN5Xd.img-board magisk_patched-25200_wN5Xd.img-kernel_offset magisk_patched-25200_wN5Xd.img-ramdisk.cpio.gz magisk_patched-25200_wN5Xd.img-cmdline magisk_patched-25200_wN5Xd.img-origsize magisk_patched-25200_wN5Xd.img-ramdisk_offset magisk_patched-25200_wN5Xd.img-hashtype magisk_patched-25200_wN5Xd.img-os_patch_level magisk_patched-25200_wN5Xd.img-second_offset magisk_patched-25200_wN5Xd.img-header_version magisk_patched-25200_wN5Xd.img-os_version magisk_patched-25200_wN5Xd.img-tags_offset magisk_patched-25200_wN5Xd.img-imgtype magisk_patched-25200_wN5Xd.img-pagesize
split_img/magisk_patched-25200_wN5Xd.img-ramdisk.cpio.gz
就是我们要的ramdisk.img了,重命名一下就可以了。 - eg:
-
- 将patch好的ramdisk.img替换掉cuttlefish模拟器原来的就可以开机了
- 设置Zygisk和安装LSPosed
Riru+EdXposed已经停更了,换用Zygisk+LSPosed吧。- 打开Magisk的app,右上角设置,拉下去有个Zygisk的开关,打开就行。
- 下载LSPosed并adb push到模拟器中。
- Magisk App切到Modules tab,选择“install from storage”,找到刚刚下载的LSPosed模块的zip包。
- 安装好后点右下角的重启按钮或者手动重启反正就是重启。
- 重启好后就完成了。
如果是尝试安装Magisk24的话,需要每次开机后手动启动一下magisk的服务,照着/init.rc里写的magisk服务一个一个启动。
如果是尝试安装Magisk23的话,不要尝试了。