1.背景
有的时候我们测试安卓的app需要绑定hosts,这个时候我们如果只是修改PC机器上的hosts,然而在模拟器中并不生效。这个时候我们就需要修改模拟器中的hosts。
模拟器中的hosts为只读模式不能直接修改,本文采用的方法是使用adb工具将模拟器中的文件pull到本地修改后再push上去,这样就起到了修改模拟器中hosts的目的。
2.什么是adb
adb的全称为Android Debug Bridge,就是起到调试桥的作用,作为一名开发者倒是常用到这个工具.借助adb工具,我们可以管理设备或手机模拟器的状态。还可以进行很多手机操作,如安装软件、卸载软件、系统升级、运行shell命令等等。adb就是连接Android手机与PC端的桥梁,可以让用户在电脑上对手机进行全面的操作。
3.windows10中 adb的安装
首先在自己的PC电脑上查看是否已经安装好了adb
检查方法:
cmd打开windows命令行,执行adb命令
如果出现了上图中的
Android Debug Bridge version 1.0.40
Version 4797878
Installed as D:ADBadb.exe
则表示adb已经安装好
如果执行命令后返回的是
C:Usersheaven>adb
'adb' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
则表示adb没有安装好,需要手动安装
3.1 下载adb
下载adb可以通过Google助手去下载,也可以通过我下面分享的百度网盘的连接下载
链接:https://pan.baidu.com/s/1TGuy4kgKFuUXV0EDktovdQ
提取码:b359
3.2 解压
下载完成后将该包解压,将该包放到你电脑上你认为的一个比较好的位子
3.3 设置环境变量(windows10为例)
3.3.1 搜索找到控制面板
3.3.2.点击系统和安全
3.3.3 点击系统
3.3.4 点击高级系统设置
3.3.5 点击环境变量
3.3.6 点击Path -- 编辑
3.3.7 点击新建,将前面下载解压的ADB目录路径添加上,然后确定
3.3.8 测试adb命令是否可用
打开cmd,执行adb命令
如上图所示出现adb的版本号则安装成功。
4 .安装模拟器
下载一个雷电模拟器(也可以是其他模拟器),安装好,创建一个模拟器
5.使用adb修改hosts
打开cmd命令行:
执行命令:
1.获取root权限
C:Usersheaven>adb root
2.重新挂载模拟器
C:Usersheaven>adb remount
remount succeeded
3.将模拟器hosts pull到本地目录C:Usersheaven
C:Usersheaven>adb pull /system/etc/hosts
/system/etc/hosts: 1 file pulled. 0.0 MB/s (25 bytes in 0.010s)
4.在本地用记事本打开hosts文件 修改hosts文件,然后保存
5.将修改后的hosts文件上传到模拟器
C:Usersheaven>adb push hosts /system/etc/
hosts: 1 file pushed. 0.0 MB/s (25 bytes in 0.036s)
上传成功
6.测试
打开模拟器,点击系统应用,然后点击终端模拟器,然后命令行ping aaa.test.com 如果解析的ip是刚才我们添加的hosts中的ip则表示hosts解析修改成功。
注意:
如果出现报错: adb: unable to connect for root: more than one device/emulator
这个表示你启动了多个模拟器,adb只能管理一个,关闭其中一个模拟器即可。
可通过命令 :adb devices查看。