最近在mac上配置Hosts,磕磕绊绊的总是有些小问题,遇到的坑跟大家分享一下。
Mac上配置Hosts文件
如果小白不怎么会用Terminal的话,可以通过下面这个方法更改Hosts文件,在这里简单描述一下。如果需要特别详细的步骤的同学可以自行百度,一抓一大把的那种。
- 双击Finder,Go to Folder -> 弹出框输入 /etc/
- 双击Hosts,尝试更改 -> 复制Hosts到桌面
- 打开Hosts文件进行更改(注意去掉文件后缀)
- 将更改后的文件替换系统Hosts文件,即目录/etc/下的Hosts
- Note: 这里请注意系统Hosts文件不可以直接更改,需要复制一份,更改之后替换系统文件
下面我们用Terminal修改Hosts文件(推荐)
打开Terminal,输入下面命令,输入完成之后需要输入mac密码,接下来就会进入Hosts文件
sudo vim /etc/Hosts
在Hosts文件上,输入 i,进入编辑模式
输入需要更改的内容,这里注意ip和域名之前用tab键隔开(用空格可能会有问题)
输入完成之后,点击esc,然后输入 :wq
现在Hosts已经修改完成,可以通过Go to Finder -> /etc/点击查看是否更改成功
浏览器访问
输入Hosts配置的域名,查看是否指向配置的ip,如上图我的配置,打开浏览器输入域名www.taobao.com,不能正常访问则表示配置成功
iOS模拟器访问
iOS模拟器可以直接使用Mac配置的Hosts
Android模拟器访问
Android模拟器不可以直接访问Mac配置的Hosts,这里需要单独给Android Emulator进行Hosts配置,具体如下。
Mac - 配置Android Emulator Hosts
打开Android Studio,创建Emulator,例如创建名为EmulatorTest
打开Terminal,去到Emulator所在文件夹,一般Emulator文件夹的路径为 /Library/Android/sdk/
cd ~/Library/Android/sdk/emulator/ //进入emulator文件夹
./emulator -list-avds //查询所有emulator设备列表
./emulator -avd EmulatorTest -writable-system //启动Android模拟器
等待Emulator启动成功后,新打开一个Terminal窗口,执行以下命令。这里修改hosts文件可以通过文本编辑器直接进行修改。(Note: 挂载文件一定要加上emulator的标识,这里标识可以在emulator上查看,比如5554.)
adb root //开始adb root权限
adb -s emulator-5554 remount //挂载文件
adb pull /system/etc/hosts ~/Desktop/hosts //将Emulator系统hosts pull下来放在指定文件夹,这里放在桌面,易于修改
adb push ~/Desktop/hosts /system/etc/hosts //将桌面修改后的hosts放回Emulator系统hosts
adb shell cat /etc/hosts //查看是否修改成功
Android模拟器hosts文件配置完成,打开模拟器中浏览器或者app进行验证即可。