欢迎光临散文网 会员登陆 & 注册

浅玩AVD(ROOT)

2023-08-12 21:42 作者:Surplars  | 我要投稿

前言

如果你有相似情况或者需要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 or adb 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的脚本

试编译了一次黑屏。。。。。直接裂开

待会儿继续编译

好了,各位机佬可以尽情玩耍了

初步探索,有错误请指正

浅玩AVD(ROOT)的评论 (共 条)

分享到微博请遵守国家法律