如何让Android Studio启动AVD时保留hosts修改或启用-writable-system?
解决AVD修改hosts重启重置及添加启动参数的问题
方案1:永久保存hosts修改,无需每次命令行启动
- 按现有流程启动并修改AVD的hosts:
# 带可写系统参数启动AVD tools/emulator -avd <avdname> -writable-system # 获取root权限并重新挂载系统分区 platform-tools/adb root platform-tools/adb remount # 推送本地hosts文件到设备 platform-tools/adb push <local>/hosts /etc/hosts - 确认hosts修改生效后,执行命令确保修改写入磁盘:
platform-tools/adb shell sync - 关闭当前AVD,找到AVD存储目录(Linux下默认路径为
~/.android/avd/<avdname>/) - 替换AVD的系统镜像:
- 直接从设备拉取修改后的系统镜像:
platform-tools/adb pull /system/system.img ~/.android/avd/<avdname>/system.img - 若AVD采用Android 10+动态分区,先进入设备shell执行:
platform-tools/adb shell su -c "dd if=/system of=/sdcard/system.img" platform-tools/adb pull /sdcard/system.img ~/.android/avd/<avdname>/system.img
- 直接从设备拉取修改后的系统镜像:
- 后续通过Android Studio启动该AVD时,hosts修改会永久保留,无需再用命令行参数启动。
方案2:给Android Studio的AVD启动按钮添加-writable-system参数
- 打开Android Studio,点击顶部菜单栏
File > Settings(Linux/Windows)或Android Studio > Settings(Mac) - 在左侧导航栏选择
Tools > Emulator - 在右侧Additional command line options输入框中填入:
-writable-system - 点击
Apply和OK保存设置 - 之后通过Android Studio设备管理器启动AVD时,会自动带上
-writable-system参数,系统分区保持可写状态,已修改的hosts不会在重启后重置。
内容的提问来源于stack exchange,提问作者Jorge_Freitas
相关产品推荐
相关产品推荐

