开发中有时候会遇到要修改设备的host文件,下面是我总结出来的一些步骤:
1、先开启一个控制台(window+R cmd)然后进入到sdk的tools目录,如图1的第一步所示,我的tools目录是 E:\AndroidSdk\Sdk\tools
2、运行 emulator -avd Nexus_5X_API_27 -writable-system 命令启动Android模拟器,如图1的第二步所示。Nexus_5X_API_27是模拟器的名字,如果不记得Android模拟器的名字,可以在Androidstudio中打开模拟器管理器查看,如图3所示,我的模拟器名称是Nexus 5X API 27,在输入的时候切记要用下划线代替名字中的空格(如果模拟器名称中有空格的话),这时候如果模拟器能成功启动,说明这一步操作成功了。

3、模拟器启动成功之后,控制台是动不了的,我们要重新开启一个控制台(window+R cmd)如图2所示,接着我们要进入到sdk的platform-tools目录下,如图2的第三步所示。
4、运行 adb root命令,获取root权限,如图2的第四步所示。

5、运行 adb remount命令,如图2的第五步所示,这时候会显示remount succeeded,说明该命令运行成功了。
6、运行adb pull命令取出hosts文件,如图2的第六步所示,/system/etc/hosts 是模拟器中hosts文件的路径;E:/host是我们取出文件后存放文件的目录路径(取出的文件放到哪里完全由自己决定,但是存放该文件的目录必须首先要存在)。
7、修改完host文件(在电脑中用记事本打开手动修改)后我们通过运行adb push把文件送回到模拟器中,如图2的第七步所示,E:/host/hosts是文件在电脑中的路径(上一步我们取出hosts文件就是存放在这里);/system/etc/hosts模拟器中hosts文件的路径。
8、运行adb shell cat命令显示文件的内容,查看是否修改成功,如图2的第八步所示,/system/etc/hosts是我们想要查看的文件的路径 。
