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:\ADB\adb.exe

则表示adb已经安装好

如果执行命令后返回的是

C:\Users\heaven>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:\Users\heaven>adb root

2.重新挂载模拟器

C:\Users\heaven>adb remount
remount succeeded

3.将模拟器hosts pull到本地目录C:\Users\heaven

C:\Users\heaven>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:\Users\heaven>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查看。

  

windows中安装模拟器后修改模拟器中的hosts方法的更多相关文章

  1. Linux中安装tomcat后,window中访问不到tomcat的欢迎界面问题

    首先,可以通过xftp把下载的tomcat的tar.gz包传输到Linux中. 然后进行解压,tar -zxvf   tomcat的压缩包名称(可以使用tab键快速补齐) 解压后,可以使用修改/con ...

  2. (错误)在VMmare中安装centos后不能联网

    一.问题 在VMmare中安装centos后不能联网 在Xshell无法连接centos 二.解决方法 2.1 点击Network Adapter 设置如下图所示,首先我们在虚拟机中将网络配置设置成N ...

  3. 安装Oracle后修改IP总结(转载)

    转载自:http://blog.csdn.net/bleibo/article/details/5447198 安装Oracle后修改IP总结(转载) 针对ORACLE 10G 在安装完后,修改IP ...

  4. Oracle安装完成后修改服务器机器名,Oracle部分服务无法启动

    Oracle安装完成后修改服务器机器名,Windows server 2012 R2系统提示Oracle 11g下面3个服务无法启动: OracleDBConsoleorcl OracleOraDb1 ...

  5. Map java中的map 如何修改Map中的对应元素

    Map java中的map 如何修改Map中的对应元素 Map以按键/数值对的形式存储数据,和数组非常相似,在数组中存在的索引,它们本身也是对象.         Map的接口         Map ...

  6. 安装Wamp后 Apache无法启动的解决方法

    安装Wamp后 Apache无法启动的解决方法,网上的解决方案可以说是五花八门,有些说了一大推,一点作用都起不到. 其实解决方法只需两步: 1.安装路径不能包含有中文,这个我不知道为什么,总之如果安装 ...

  7. 安装Wamp后 Apache无法启动的解决方法

    安装Wamp后 Apache无法启动的解决方法,网上的解决方案可以说是五花八门,有些说了一大推,一点作用都起不到. 其实解决方法只需两步: 1.安装路径不能包含有中文,这个我不知道为什么,总之如果安装 ...

  8. 点了安装SQL2000后没反应了的处理方法

    摘自JerrY的博客 http://blog.sina.com.cn/s/blog_403ef7e80101iy3p.html 点了安装SQL2000后没反应了的处理方法 以前的时候给客户电脑安装SQ ...

  9. 在虚拟机中安装metasploit官方攻防模拟器

    首先我们要在windwos下载安装perl环境.下载地址: http://pan.baidu.com/s/1i3GLKAp 然后我们安装 点击next 我同意,next next next,然后他会安 ...

随机推荐

  1. win10系统,mysql-installer-community-5.7.19.0.msi安装

    1.进入官网找到自己所需的安装包:https://dev.mysql.com/  ,路径:DOWNLOAD-->MYSQL Community Edition(GRL)-->MYSQL o ...

  2. Server.MapPath()相关

    Server.MapPath()相关 1.      Server.MapPath()介绍 Server.MapPath(string path)作用是返回与Web服务器上的指定虚拟路径相对应的物理文 ...

  3. HDU4791【杂】

    题意: 给你一个从0开始的区间si,每个区间是前闭后开,[ s[i] , s[i+1] ), 然后再给你个一个pi,代表你在区间[ s[i] , s[i+1] )里面买东西的单价是pi,给出的s1一定 ...

  4. C++函数调用过程深入分析

    http://blog.csdn.net/dongtingzhizi/article/details/6680050 0. 引言 函数调用的过程实际上也就是一个中断的过程,那么C++中到底是怎样实现一 ...

  5. 如何使Label有修改功能

    如何使Label有修改功能 之前制作一个项目时需要这样一个功能: 双击Label, 随后Label变为TextBox,用户修改后回车,TextBox变回Label 之前使用WPF做了一个,代码如下: ...

  6. 洛谷P4238 【模板】多项式求逆(NTT)

    传送门 学习了一下大佬的->这里 已知多项式$A(x)$,若存在$A(x)B(x)\equiv 1\pmod{x^n}$ 则称$B(x)$为$A(x)$在模$x^n$下的逆元,记做$A^{-1} ...

  7. 初学Django框架知识

    首先了解什么事HTTP协议; 1.浏览器往服务器发的 请求(request): 请求消息的格式: 请求方法 路径 HTTP/1.1\r\n k1:v1\r\n k2:v2\r\n \r\n 请求数据 ...

  8. 多线程中join()

    这个鬼东西百度了好久没弄明白,大佬们代码一粘贴好了完事,借助官方api终于是理解了,当然如果有问题欢迎大家用键盘来羞辱我. 首先  join有什么用?   他是用来确定线程何时结束的 , Thread ...

  9. 用vector实现普通平衡树 By cellur925

    其实我真的很想学习手写平衡树的==.但是感觉联赛前真没有时间了(太菜了.),于是先学一个STL代用苟,如果还能继续在\(tsoi\)苟,回来一定先学平衡树=w=. 然后因为窝对STL用的不是特别好,有 ...

  10. js框架:jQuery

    · jQuery是一个轻量级的“写的少,做的多”的JavaScript函数库(jQuery版本2以上不支持IE6,7,8) · jQuery 的功能概括: 1.html 的元素选取 2.html的元素 ...