修改模拟器hosts文件后,无法从AVD Manager启动Android模拟器
解决Android模拟器修改hosts后AVD Manager启动无响应的问题
你遇到的问题根源很明确:之前修改hosts时用了-writable-system参数启动模拟器,这会把模拟器的/system分区设置为可写模式,但AVD Manager默认启动时不会携带这个参数,导致模拟器无法正常加载已被修改为可写的系统分区,进而出现无响应的情况。下面给你两种可行的解决思路:
方法一:重置系统分区为只读(恢复AVD Manager默认启动)
如果之后不需要再修改hosts,可以把系统分区改回默认的只读状态:
- 先通过命令行启动模拟器(目前唯一能正常启动的方式):
~/Library/Android/sdk/tools/emulator -writable-system -avd Nexus_5_API_19 - 打开另一个终端,依次执行以下命令:
adb root adb -s emulator-5554 remount -R adb reboot - 重启完成后,再尝试用AVD Manager启动模拟器,应该就能正常响应了。
方法二:给AVD添加默认启动参数(永久支持可写分区)
如果之后还需要频繁修改hosts,不想每次都用命令行启动,可以给这个AVD配置默认启动参数:
- 打开AVD Manager,找到你的
Nexus_5_API_19模拟器,点击右侧的Edit按钮。 - 在弹出的编辑窗口中,点击Show Advanced Settings(显示高级设置)。
- 滚动到Emulated Performance区域,找到Command Line Options输入框。
- 在输入框中添加参数:
-writable-system - 保存设置,之后用AVD Manager启动这个模拟器时,会自动携带该参数,既能正常启动,也能保持系统分区可写状态方便后续修改hosts。
补充说明
-writable-system的作用是解除/system分区的只读限制,默认情况下这个分区是只读的,所以AVD Manager的默认启动逻辑不包含这个参数。你可以根据自己的需求选择上面两种方法,前者恢复默认状态,后者保留可写能力。
内容的提问来源于stack exchange,提问作者Alphonse
相关产品推荐
相关产品推荐

