Android模拟器修改hosts文件详解
2017-03-29 15:21
302 查看
Android模拟器修改hosts文件详解
前言
在开发中遇到这样需求,需要在hosts文件中将某个网址域名与其对应的IP地址建立一个关联,比如关联这样一个ip:123.45.67.89 www.unknown.net
那么在Android开发中测试我们需要修改Android测试机(模拟器)的hosts文件。
一、配置准备
本文以Mac开发环境为例:1.adb环境变量配置
win:http://blog.csdn.net/empty_android/article/details/52266590mac:http://jingyan.baidu.com/article/59703552c0f8818fc1074041.html
配置结果:
若adb环境变量配置成功,则打开【终端】输入指令 adb,弹出操作列表:2.创建一个模拟器
这个很简单,打开AndroidStudio创建一个模拟器就可以了,记住这个模拟器的名字AVDname如图,以图中为例,AVDname=“Nexus_4_API_22”(空格换成下划线,也可以创建一个简单的,如上面的“nexus5”);
二、hosts修改
1.步骤
首先给出全部指令:(Assuming Windows host) Open a Command Prompt
cd %localappdata%\Android\sdk\tools
Run the emulator from the command line with -writable-system flag, e.g. emulator -avd (your AVD name) -writable-system
While the emulator is booting (wait until the Android splash appears):
cd %localappdata%\Android\sdk\platform-tools
adb root (do not proceed until this command has been successful)
adb remount
adb push ~/Desktop/hosts /system/etc/hosts
下列是百度得到的修改方式:
1.adb root root运行
2.adb remount 可更改用户账户
3.adb pull /system/etc/hosts e:/hosts 将hosts文件放到e盘的hosts下
4.adb push e:/hosts /system/etc/hosts 将修改完成的hosts文件放到模拟器中。
但是在实际使用中:
显示的是hosts文件只是可读,因此我们需要先通过下面这条指令writable模式启动模拟器:
emulator -avd (your AVD name) -writable-system
2.启动模拟器
如图,代码粘贴区:
cd ~/Library/Android/sdk/platform-tools //进入目标文件夹
./emulator -list-avds //列出所有模拟器
./emulator -avd Nexus_4_API_22 -writable-system //启动你想要修改的模拟器
emulator指令的配置详见上面【 adb环境变量配置 】
3.修改文件
writable打开模拟器后,新建终端窗口进行操作:1.adb root root 运行
2.adb remount 可更改用户账户
3.adb pull /system/etc/hosts ~/Desktop/hosts 将hosts文件放在指定文件夹下(本文中放在桌面)
3.5 手动在指定文件夹下(本文中放在桌面)打开host文件修改(图在下面)
4.adb push ~/Desktop/hosts /system/etc/hosts 将修改完成的hosts文件放到模拟器中。
5.shell cat /etc/hosts 查看host文件
如图:
桌面打开修改hosts文件:
三、小结
Mac环境下,这种方式修改后的模拟器,貌似修改成功后只能通过writable命令再次启动,通过AndroidStudio打开模拟器,模拟器会黑屏不启动。这种情况不知道是偶然还是必然,有朋友知道原因的话望不吝赐教,谢谢。
【参考网址】
http://stackoverflow.com/questions/38480918/im-not-able-to-write-to-hosts-file-in-android-emulator【个人备用】指令清单
cd ~/Library/Android/sdk/platform-tools./emulator -list-avds
./emulator -avd nexus5 -writable-system
vim hosts
adb root
cd sdk/
cd platform-tools/
./adb root
./adb remount
vim host
./adb push hosts /etc/hosts
./adb shell cat /etc/hosts
相关文章推荐
- 修改Android中hosts文件的步骤详解
- android模拟器如何修改hosts文件
- 修改Android模拟器的Hosts文件
- android 下修改 hosts文件 及 out of memory的解决
- bat修改本地hosts文件
- hosts文件详解
- ubuntu下修改hosts文件
- 修改hosts文件时,最后一行要加回车
- WEB程序打包详解:(连接SQL2005数据库,修改配置文件,建立虚拟目录)
- 修改hosts文件登陆Web Picasa
- 域名解析文件hosts文件是什么?如何修改hosts文件?
- Windows7修改hosts提示:您没有权限在此位置中保存文件
- Windows下用命令行修改IP详解,附批处理文件
- 网络配置文件详解――/etc/hosts
- 网络配置文件详解——/etc/hosts.allow 和 /etc/hosts.deny
- 使用IPv6 DNS解析IPv6域名(不必修改hosts文件)
- 在Windows上修改hosts文件
- windows下修改hosts文件,添加固定的DNS解析
- 如何禁止和允许修改HOSTS文件?
- 普通用户修改hosts文件