本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。
由于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应用
下载Magisk应用。
本示例以下载Magisk-v24.2.apk为例。更多版本,请参见Magisk官网。
通过WinSCP等工具,将Magisk应用上传到Linux服务器的指定目录。
本示例将Magisk应用上传至
/root/cloudphone
目录,您可以使用以下命令创建目录。mkdir /root/cloudphone
在Linux服务器中通过ADB远程连接云手机。具体操作,请参见通过ADB连接(公网)。
执行以下命令,安装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
依次执行以下命令,下载云⼿机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)
执行以下命令,查看下载的文件。
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
制作boot.img。
执行以下命令,下载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
执行以下命令,解压platform_system_core-pie-platform-release.zip文件。
unzip platform_system_core-pie-platform-release.zip
说明如果你的Linux服务器中没有安装unzip软件,执行
yum install -y unzip
命令安装。执⾏下列命令,⽣成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
执⾏下列命令,将⽣成的boot.img文件上传到云⼿机的指定目录。
本示例以
sdcard/Download
目录为例。adb push /root/cloudphone/boot.img sdcard/Download
⽣成新的ramdisk。
通过WebRTC连接云手机。具体操作,请参见通过WebRTC连接(公网)。
打开Magisk应用,单击安装。
在弹出的对话框中,单击允许后,单击下⼀步。
说明Android11没有弹出对话框,故无需单击允许。
在方式中,选中选择并修复⼀个⽂件。
从下载目录中选择
boot.img
文件后,单击开始。完成后在boot.img所在⽬录下(sdcard/Download)⽣成magisk_patched-24200_*****.img。
回显信息如下图所示,表示安装完成。
说明您可以使用按住鼠标左键,左右拖动查看补丁包的完整信息。
在Linux服务器中,执行以下命令,将⽣成的magisk_patched-24200_*****.img⽂件下载到本地。
命令中的magisk_patched-24200_*****.img需要替换为实际文件名称。
adb pull /sdcard/Download/magisk_patched-24200_*****.img .
执行以下命令,下载split_bootimg.pl。
wget https://gist.githubusercontent.com/jberkel/1087743/raw/45046f87176dfacdc22af4290f89a0d2e0df1dbb/split_bootimg.pl -P /root/cloudphone
使⽤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
。
执行以下命令,替换云⼿机的ramdisk.img。
adb root adb remount adb push ramdisk.img /boot adb shell rm /system/xbin/su
执行以下命令,重启云手机。
adb reboot
通过WebRTC连接云手机。具体操作,请参见通过WebRTC连接(公网)。
根据界面提示完成以下操作,如果界面未出现以下界面忽略即可。
云手机重启后,如果出现超级用户请求对话框,单击允许。
在云手机中,单击图标,打开Magisk应用,如果弹出需要修复运行环境对话框,单击确定。
步骤三:安装EdXposed
⽬前在线安装的Riru版本太⾼和EdXposed不兼容,本操作以下载低版本Riru到云⼿机sdcard/Download
目录中,本地安装为例。
在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
依次执行以下命令,将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
在控制台中通过WebRTC连接云手机。具体操作,请参见通过WebRTC连接(公网)。
在Magisk应用中依次安装Riru和EdXposed。
本示例以安装Riru为例。
在云手机中打开Magisk应用。
在底部悬浮菜单中,单击。
在弹出的页面中,单击从本地安装。
在下载页面,选择Riru安装包,安装Riru。
安装完成后截图如下所示。
执行以下命令,安装EdXposedManager。
adb install EdXposedManager-4.6.2-46200-org.meowcat.edxposed.manager-release.apk
执行以下命令,重启云手机。
reboot
步骤四:验证结果
在控制台中通过WebRTC连接云手机。具体操作,请参见通过WebRTC连接(公网)。
在云手机中使用鼠标双击图标,打开EdXposed Manager。
在弹出的提示对话框中,单击好,查看EdXposed框架是否已经激活。
显示如下图所示,表示EdXposed框架已经激活。