在Android Studio Emulator (AVD) 上安装Magisk,获取root权限的新方法
最近由于项目需要,来折腾了一下AVD的root,搜索了一下,网上的文章要么都是过时的,要么需要依赖一些第三方脚本,但这些第三方脚本最近都没有更新了。所以在此记录一个新的方法,不依赖三方脚本,能在最新的android api上进行root,这也是magisk官方在最近才提供的方法,过程非常简单清晰。
在Android Studio Emulator (AVD) 上安装Magisk,获取root权限的新方法
序语
最近由于项目需要,来折腾了一下AVD的root,搜索了一下,网上的文章要么都是过时的,要么需要依赖一些第三方脚本,但这些第三方脚本最近都没有更新了。所以在此记录一个新的方法,不依赖三方脚本,能在最新的android api上进行root,这也是magisk官方在最近才提供的方法,过程非常简单清晰。
一、创建并启动一个AVD
创建过程略,我在此创建了一个api 36的AVD,并记住自己选择的镜像
二、下载Magisk仓库
Magisk官方仓库地址:https://github.com/topjohnwu/Magisk
从以上地址下载代码并保存到电脑任意位置,也可以使用git下载源码:
git clone https://github.com/topjohnwu/Magisk.git
同时在该仓库的Release页面下载最新的magisk.apk,并安装在avd中。
三、创建ramdisk.img的patch文件
打开下载的Magisk源码文件夹,并进入其根目录。然后在当前位置打开命令行,运行以下命令:
./Magisk>build.py avd_patch --apk 【上一步下载的magisk.apk位置】 【创建avd时选择的镜像文件中的ramdisk.img位置】【输出patch后的ramdisk.img位置】
例如,对于我来说,我选择的镜像文件是带google api的api36镜像,其位于我的android sdk目录下的system-images\android-36\google_apis\x86_64\ramdisk.img,并且我将magisk.apk复制到了当前源码文件夹,最终输出的patch文件也放在当前文件夹,所以我的命令最终如下:
./Magisk>build.py avd_patch --apk Magisk-v30.7.apk D:\apps\install\android\sdk\system-images\android-36\google_apis\x86_64\ramdisk.img ramdisk_patched.img
注意,在 windows terminal 中执行可能会报错,请去掉最前面的 ./ 再重试
命令执行成功后,会在当前目录下生成ramdisk_patched.img文件,到这里我们已经成功90%了。
四、应用patch文件,获取root
关闭avd,将上一步得到的patch文件重命名为ramdisk.img并复制回avd使用的镜像目录,覆盖同名文件,并重新启动avd即可(注意这里需要cold boot,需要在avd的设置里调整一下)
ps:我在这里使用的镜像目录为:D:\apps\install\android\sdk\system-images\android-36\google_apis\x86_64
重启avd后打开magisk界面,它会提示进行一个小的修补,选择是,avd修补成功后自动重启,此时已经全部ok了,magisk能正常运行,zygisk也默认开启,root完毕。

后续
如有其它需求,可当成手机一样,自行安装需要的模块和app,如Lsposed等。
更多推荐



所有评论(0)