文档

通过Magisk安装EdXposed

更新时间:
重要

本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。

由于Xposed框架停更,版本仅支持到Android 7,如果您需要在Android 9和11上继续使用Xposed的强大能力,您可以通过Magisk安装EdXposed(Elder driver Xposed)。本文主要介绍如何在云手机中通过Magisk安装EdXposed框架。

警告
  • 使⽤EdXposed存在安全⻛险,本⽂档只提供安装步骤,请您谨慎使用。

  • EdXposed是开源的Xposed框架分支,弹性云⼿机的安卓系统⽀持本文档所⽤版本的EdXposed框架,但不保证所有EdXposed版本都可以正常⼯作。

前提条件

  • 云手机的实例状态必须为运行中

  • 云手机已绑定弹性公网IP。具体操作,请参见绑定EIP

  • 确保已有一台Linux服务器。本示例Linux操作系统以CentOS 7.9为例。

背景信息

Edxposed类似Xposed,是一款安卓系统的框架,可以在不修改系统文件的情况下实现对Android系统进行深入定制,例如:修改外观、修改界面、修改图标、添加特效等。

Magisk是一款Android设备的开源软件,它主要用于实现Root权限管理和系统修改。通过Magisk,用户可以在Android设备上实现Root权限,同时保持系统完整和安全。

操作步骤

步骤一:安装Magisk应用

  1. 下载Magisk应用

    本示例以下载Magisk-v24.2.apk为例。更多版本,请参见Magisk官网

  2. 通过WinSCP等工具,将Magisk应用上传到Linux服务器的指定目录。

    本示例将Magisk应用上传至/root/cloudphone目录,您可以使用以下命令创建目录。

    mkdir /root/cloudphone
  3. 在Linux服务器中通过ADB远程连接云手机。具体操作,请参见通过ADB连接(公网)

  4. 执行以下命令,安装Magisk。

    本示例中Magisk-v23-0.apk存放路径为/root/cloudphone/Magisk-v24.2.apk,安装命令如下:

    adb install /root/cloudphone/Magisk-v24.2.apk

    当出现如下回显信息时,表示Magisk安装成功。

    [root@iZbp1dtvts0j8lbejlz**** ~]# adb install /root/cloudphone/Magisk-v24.2.apk
    715 KB/s (10871119 bytes in 14.843s)
    Success

步骤二:制作并替换云手机的ramdisk.img

  1. 依次执行以下命令,下载云⼿机Image和ramdisk.img文件到Linux服务器指定目录,例如:/root/cloudphone/

    adb root
    adb remount
    adb pull /boot /root/cloudphone/
    说明

    如果执行adb remount后,提示error: device not found报错,执行adb connect <云手机弹性IP>:5555后,重新执行命令。

    回显信息如下所示,表示Image和ramdisk.img文件已下载完成。

    [root@iZbp1dtvts0j8lbejlz**** ~]# adb root
    adbd is already running as root
    [root@iZbp1dtvts0j8lbejlz**** ~]# adb remount
    remount succeeded
    [root@iZbp1dtvts0j8lbejlz**** ~]# adb pull /boot /root/cloudphone/
    pull: building file list...
    pull: /boot/EFI/BOOT/fallback.efi -> /root/cloudphone/EFI/BOOT/fallback.efi
    pull: /boot/EFI/BOOT/BOOTAA64.EFI -> /root/cloudphone/EFI/BOOT/BOOTAA64.EFI
    pull: /boot/EFI/aosp/fonts/unicode.pf2 -> /root/cloudphone/EFI/aosp/fonts/unicode.pf2
    pull: /boot/EFI/aosp/grubaa64.efi -> /root/cloudphone/EFI/aosp/grubaa64.efi
    pull: /boot/EFI/aosp/grub.cfg -> /root/cloudphone/EFI/aosp/grub.cfg
    pull: /boot/EFI/aosp/MokManager.efi -> /root/cloudphone/EFI/aosp/MokManager.efi
    pull: /boot/EFI/aosp/shim.efi -> /root/cloudphone/EFI/aosp/shim.efi
    pull: /boot/EFI/aosp/gcdaa64.efi -> /root/cloudphone/EFI/aosp/gcdaa64.efi
    pull: /boot/EFI/aosp/shim-alios.efi -> /root/cloudphone/EFI/aosp/shim-alios.efi
    pull: /boot/EFI/aosp/BOOT.CSV -> /root/cloudphone/EFI/aosp/BOOT.CSV
    pull: /boot/shadow/last_boot -> /root/cloudphone/shadow/last_boot
    pull: /boot/shadow/parted -> /root/cloudphone/shadow/parted
    pull: /boot/ramdisk-recovery.img -> /root/cloudphone/ramdisk-recovery.img
    pull: /boot/ramdisk.img -> /root/cloudphone/ramdisk.img
    pull: /boot/Image -> /root/cloudphone/Image
    15 files pulled. 0 files skipped.
    532 KB/s (57980554 bytes in 106.275s)
  2. 执行以下命令,查看下载的文件。

    ll /root/cloudphone/

    回显信息如下所示。

    [root@iZbp1dtvts0j8lbejlz**** ~]# ll /root/cloudphone/
    total 55576
    drwxr-xr-x 4 root root 4096 Aug 17 17:30 EFI
    -rw-r--r-- 1 root root 42306048 Aug 17 17:32 Image
    -rw-r--r-- 1 root root 6874374 Aug 17 17:29 Magisk-v24.2.apk
    -rw-r--r-- 1 root root 1725518 Aug 17 17:31 ramdisk.img
    -rw-r--r-- 1 root root 5986367 Aug 17 17:31 ramdisk-recovery.img
    drwxr-xr-x 2 root root 4096 Aug 17 17:31 shadow
  3. 制作boot.img。

    1. 执行以下命令,下载mkbootimg到指定目录。

      本示例目录为/root/cloudphone

      cd /root/cloudphone
      wget https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20230817/oeyy/platform_system_core-pie-platform-release.zip
    2. 执行以下命令,解压platform_system_core-pie-platform-release.zip文件。

      unzip platform_system_core-pie-platform-release.zip
      说明

      如果你的Linux服务器中没有安装unzip软件,执行yum install -y unzip命令安装。

    3. 执⾏下列命令,⽣成boot.img。

      /root/cloudphone/platform_system_core-pie-platform-release/mkbootimg/mkbootimg --kernel Image --ramdisk ramdisk.img --cmdline "console=ttyHSL0,115200,n8 androidboot.console=ttyHSL0 androidboot.hardware=shamu msm_rtb.filter=0x37 ehci-hcd.park=3 utags.blkdev=/dev/block/platform/msm_sdcc.1/by-name/utags utags.backup=/dev/block/platform/msm_sdcc.1/by-name/utagsBackup coherent_pool=8M" --base 0x00000000 --ramdisk_offset 0x0000000b  --output boot.img
  4. 执⾏下列命令,将⽣成的boot.img文件上传到云⼿机的指定目录。

    本示例以sdcard/Download目录为例。

    adb push /root/cloudphone/boot.img sdcard/Download
  5. ⽣成新的ramdisk。

    1. 通过WebRTC连接云手机。具体操作,请参见通过WebRTC连接(公网)

    2. 打开Magisk应用,单击安装

    3. 在弹出的对话框中,单击允许后,单击下⼀步

      说明

      Android11没有弹出对话框,故无需单击允许

    4. 方式中,选中选择并修复⼀个⽂件

    5. 从下载目录中选择boot.img文件后,单击开始

      完成后在boot.img所在⽬录下(sdcard/Download)⽣成magisk_patched-24200_*****.img。

      回显信息如下图所示,表示安装完成。

      image.png

      说明

      您可以使用按住鼠标左键,左右拖动查看补丁包的完整信息。

    6. 在Linux服务器中,执行以下命令,将⽣成的magisk_patched-24200_*****.img⽂件下载到本地。

      命令中的magisk_patched-24200_*****.img需要替换为实际文件名称。

      adb pull /sdcard/Download/magisk_patched-24200_*****.img .
    7. 执行以下命令,下载split_bootimg.pl。

      wget https://gist.githubusercontent.com/jberkel/1087743/raw/45046f87176dfacdc22af4290f89a0d2e0df1dbb/split_bootimg.pl -P /root/cloudphone
    8. 使⽤split_bootimg.pl解压⽣成的Magisk_patched-24200_*****.img,将解压出来的Magisk_patched-24200_*****.img-ramdisk.gz改名为ramdisk.img。

      perl split_bootimg.pl Magisk_patched-24200_*****.img
      mv Magisk_patched-24200_*****.img-ramdisk.gz ramdisk.img

      mv: overwrite ‘ramdisk.img’? 提示后输入y

  6. 执行以下命令,替换云⼿机的ramdisk.img。

    adb root
    adb remount
    adb push ramdisk.img /boot
    adb shell rm /system/xbin/su
  7. 执行以下命令,重启云手机。

    adb reboot
  8. 通过WebRTC连接云手机。具体操作,请参见通过WebRTC连接(公网)

    根据界面提示完成以下操作,如果界面未出现以下界面忽略即可。

    1. 云手机重启后,如果出现超级用户请求对话框,单击允许

      image.png

    2. 在云手机中,单击image.png图标,打开Magisk应用,如果弹出需要修复运行环境对话框,单击确定

      image.png

步骤三:安装EdXposed

⽬前在线安装的Riru版本太⾼和EdXposed不兼容,本操作以下载低版本Riru到云⼿机sdcard/Download目录中,本地安装为例。

  1. 在Linux服务器中,依次执行以下命令,下载Riru、EdXposed Manager和EdXposed安装包。

    wget https://github.com/RikkaApps/Riru/releases/download/v25.4.4/riru-v25.4.4-release.zip
    wget https://github.com/ElderDrivers/EdXposedManager/releases/download/v4.6.2.0.0/EdXposedManager-4.6.2-46200-org.meowcat.edxposed.manager-release.apk
    wget https://github.com/ElderDrivers/EdXposed/releases/download/v0.5.2.2/EdXposed-v0.5.2.2_4683-master-release.zip
  2. 依次执行以下命令,将Riru和EdXposed安装包上传至云手机的指定目录。

    本示例目录为/sdcard/Download

    重要

    如果在操作中出现通过adb连接云手机断开的问题,请执行adb connect <云手机公网IP地址>:5555,重新连接。

    adb push riru-v25.4.4-release.zip /sdcard/Download
    adb push EdXposed-v0.5.2.2_4683-master-release.zip /sdcard/Download
  3. 在控制台中通过WebRTC连接云手机。具体操作,请参见通过WebRTC连接(公网)

  4. 在Magisk应用中依次安装Riru和EdXposed。

    本示例以安装Riru为例。

    1. 在云手机中打开Magisk应用。

    2. 在底部悬浮菜单中,单击image.png

    3. 在弹出的页面中,单击从本地安装

    4. 下载页面,选择Riru安装包,安装Riru。

      image.png

      安装完成后截图如下所示。

      image.png

  5. 执行以下命令,安装EdXposedManager。

    adb install EdXposedManager-4.6.2-46200-org.meowcat.edxposed.manager-release.apk
  6. 执行以下命令,重启云手机。

    reboot

步骤四:验证结果

  1. 在控制台中通过WebRTC连接云手机。具体操作,请参见通过WebRTC连接(公网)

  2. 在云手机中使用鼠标双击image.png图标,打开EdXposed Manager。

    image.png

  3. 在弹出的提示对话框中,单击,查看EdXposed框架是否已经激活。

    显示如下图所示,表示EdXposed框架已经激活。

    image.png

  • 本页导读 (1)
文档反馈