浅玩AVD(ROOT)
前言
如果你有相似情况或者需要root进行开发那么这篇文章将非常适合你
最近没得折腾,总是闲的慌
手里这台iQOO z1的可玩性简直太低了,玩头不大,还有待开发
作为入坑不久且技术不佳的机友还是把握不住对安卓的热情,于是乎把目标转向在电脑上玩安卓
好在虽然手机拉坤但电脑性能还行 (AMD Ryzen 9 7945HX)浅秀一下

于是前后尝试了虚拟机运行bliss os和prime os(没记错的应该是叫这个)但最终都以无法正常引导而失败,也尝试了android x86但最高只有android9
对高版本痴迷没办法只能另寻他路
终于还是让我发现了AVD(Android Virtual Device)
这玩意是android studio上面的一个设备仿真工具用于模拟真实手机环境........懂得都懂
更好的就在于分区(虽然只有三个)系统目录啥的十分接近真机,支持x86_64和armv8a指令集
最最重要的是还原了在真机上折腾的过程,咱享受的是过程对吧
直接就好于大多数安卓模拟器
好家伙还有最新的安卓14好玩的这不就来了
我的android studio是hedgehog最新的canary版本,稳定版maybe没有安卓14吧

乱搞AVD除了我估计很少了吧
至于卡不卡,我觉得很流畅。这东西也是用qemu跑起来的,据相关资料说只要电脑开启了Hyper-V那么这个就能自动使用hyper-v进行硬件加速,直接嘎嘎起飞
图形速度gpu啥的没测自行感受
折腾过程
创建AVD

选中进入肉眼可见+号,直接凎ta

我建议选PIxel Fold,机子的框框要大点,虽然可以自定义,也可以在启动后自己拉

这还用说,直接咔咔下一步
但是还是说一下 选镜像选Google APIs的,其他有部分据说是user build没adb root,后续root系统会需要
起初是没有下载镜像的,要从谷歌下,要准备啥懂吧
点开show advanced settings,就可以自定义设备参数

图中是我的设置,可以参考下[滑稽],第一次创建可能是灰色的,那么你只需要...一顿瞎jr乱点 (bushi

回到这里选中图上这个7.6 Foled....然后下一步show advanced settings发现可以编辑
再回去发现也变得可以编辑(我没记错的话,如果不行还有skin什么的也点点试试)
cold boot
就是正常的加载镜像启动
quick boot
则是通过一个类似快照的镜像启动(每次关机会自动创建这个快照)
为了修改系统在重启后生效所以要冷启动
然后创建完成
AVD的默认目录在C:\Users\XXXXX\.android\avd
中
可以把那个文件夹移动到别的地方
然后更改原目录下的ini文件path=新目录位置
直接开机凎凎凎
系统默认英文需要中文自行更改
必要软件自行安装

root AVD
目前已知有以下几种方式来root
1.Magisk 已成功,放张图

2.SuperSU 似乎在老版本安卓才行,没有尝试
3.KernelSU 正在探索中
开机uname一下好家伙6.1内核,那KernelSU不就稳了
目前KernelSU的release里面没有6.x的内核只能手动编译了[流汗滑稽]

先(后)说一下这玩意有dm锁住system等分区并且bl是锁住状态(应该或许maybe可以通过修改系统文件改为解锁状态),有adb root,但是adb remount啊disable-verity什么的就木用了
那就先写写Magisk
经过我查阅资料终于在GitHub找到了一个项目
https://github.com/newbit1/rootAVD
能支持到最新的安卓14
直接
Windows终端下执行
那么你很有可能看到

不管后面加什么运行都是这样,那么你需要设置ANDROID_HOME环境变量指向你的android SDK目录
再顺便把sdk下面的tools目录和platform-tools目录添加到PATH后面会用到
重新开一个终端,ok,成功检测到ramdisk.img

因为没有boot分区所以是通过修补ramdisk.img来安装magisk
又因为这是安卓14所以只能安装>=26.x的版本
又又因为这是>=26.x版本所以只能用fakebootimg方式安装
详情请看github的README
但目前默认的是25.2,则需要我们手动下载一个最新版本目前26.1的
重命名为Magisk.zip替换掉rootAVD目录下原来的zip
然后直接copy
回车(AVD开机状态执行)
其他选项阅读README
下图是重新修补所以显示已安装

它会自动安装magisk然后打开点击安装选择文件修补,在Download文件夹有个fakeboot.img选择修补(注意这个命令回车后你只有60s操作修补)


然后回到终端回车进行下一步(或者等倒计时结束自动前进)

命令结束等待一会儿avd会自动关机,然后手动开机,如果没有自动关则需手动重启
完事打开magisk发现没检测到安装的su
这时直接
再
,手动下拉通知栏点电源按钮重启
打开magisk弹出修复环境提示,成功检测
如果重启后magisk又检测不到那就用项目github上给的Magisk Single User Mod来删掉其他用户而只保留user 0
说不定iqoo z1也可以这样来让普通应用有权限执行su嘞
Automotive Notes
After patching the ramdisk.img and cycle power, switch to user 0 via
adb shell am switch-user 0
open the Magisk App and the Requires Additional Setup pops up -> reboot AVD
switch again to user 0
open the Magisk App -> Settings -> Multiuser Mode -> User-Independent -> reboot AVD
Every time you want to Grant Su Permissions, switch to user 0 and then back to 10
adb shell am switch-user 10
Alternative, you can install the Module Magisk Single User Mod
and remove all user higher than 0 i.e.
adb shell pm remove-user 13
oradb shell pm remove-user 10
这是rootAVD README上的原文可以阅读并尝试
至此Magisk完成
emulator命令设置
如果每次都从android studio启动avd未免有点太麻烦了,导致强迫症发作
这里直接用emulator命令就可以启动AVD更方便快捷(tools添加到PATH就这个作用)
列出已创建的AVD列表

启动avd(应该是冷启动⑧,母鸡)

其他命令自行探索
结束
emulator
命令支持-kernel
选项来启动自定义内核,那使用KernelSU又多了几分想象
内核源码可以在google官方的git仓库中找到
https://android.googlesource.com/kernel/
替换内核可以把AVD的system-images目录下的../../../kernel-ranchu
换掉
或者直接用rootAVD的脚本
试编译了一次黑屏。。。。。直接裂开
待会儿继续编译
好了,各位机佬可以尽情玩耍了
初步探索,有错误请指正