Android模拟器如何remount
Android开发中,如果要调试预装service,有两种方式:
- 将apk打包到系统镜像中,重新刷机
- 将现有系统的rootfs remount成可读写的,然后把apk push到
/system/priv-app/目录
本文介绍如何remount Android模拟器。
不知道从哪个版本开始,Android模拟器默认不允许remount了。即使能adb root也不行,会报下面的错误:
1
Device must be bootloader unlocked
真的没有办法了吗?
根据官方文档,可以通过下面的方式remount模拟器:
- 在Android Studio中正常创建模拟器,注意必须是userdebug版本,user版本不行
- 执行
~/Library/Android/sdk/emulator/emulator -list-avds查看已经创建的模拟器,其中emulator是Android Studio自带命令,不同平台路径不同。执行这个命令,我的输出如下:1 2
Pixel_6 Pixel_9
- 用命令行启动模拟器:下面的命令,我启动了Pixel_6,注意关键参数-writable-system:
1
emulator -avd Pixel_6 -netdelay none -netspeed full -grpc-use-token -writable-system
- 依次执行下面的命令remount模拟器:
1 2 3 4
adb root adb remount adb reboot adb remount
- 上述命令执行完毕,就成功remount了。如果要安装开机自启service,将apk push到
/system/priv-app/目录,然后重启设备就可以了:1 2
adb push ~/Desktop/app-debug.apk /system/priv-app/ adb reboot
This post is licensed under CC BY 4.0 by the author.