Android模拟器修改hosts文件详解

Android模拟器修改hosts文件详解Android模拟器修改hosts文件详解前言在开发中遇到这样需求,需要在hosts文件中将某个网址域名与其对应的IP地址建立一个关联,比如关联这样一个ip:123.45.67.89www.unknown.net那么在Android开发中测试我们需要修改Android测试机(模拟器)的hosts文件。

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

Android模拟器修改hosts文件详解

前言

在开发中遇到这样需求,需要在hosts文件中将某个网址域名与其对应的IP地址建立一个关联,比如关联这样一个ip:

123.45.67.89 www.unknown.net

那么在Android开发中测试我们需要修改Android测试机(模拟器)的hosts文件。

一、配置准备

本文以Mac开发环境为例:

1.adb环境变量配置

winhttp://blog.csdn.net/empty_android/article/details/52266590
machttp://jingyan.baidu.com/article/59703552c0f8818fc1074041.html

配置结果:

若adb环境变量配置成功,则打开【终端】输入指令 adb,弹出操作列表:

这里写图片描述

2.创建一个模拟器

这个很简单,打开AndroidStudio创建一个模拟器就可以了,记住这个模拟器的名字AVDname

这里写图片描述

如图,以图中为例,AVDname=“Nexus_4_API_22”(空格换成下划线,也可以创建一个简单的,如上面的“nexus5”);

二、hosts修改

1.步骤

首先给出全部指令:

  1. (Assuming Windows host) Open a Command Prompt
  2. cd %localappdata%\Android\sdk\tools
  3. 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):
  4. cd %localappdata%\Android\sdk\platform-tools
  5. adb root (do not proceed until this command has been successful)
  6. adb remount
  7. 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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/180029.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • jmeter相关面试题_jmeter面试题及答案

    jmeter相关面试题_jmeter面试题及答案一、接口测试1、接口测试流程1、首先是从开发那里拿到API接口文档,了解接口业务、包括接口地址、请求方式,入参、出参,token鉴权,返回格式等信息。2、然后使用Postman或Jmeter工具执行接口测试,一般使用Jmeter的步骤是这样的: a、首先新建一个线程组。 b、然后就是新建一个HTTP请求默认值。(输入接口服务器IP和端口) c、再新建很多HTTP请求,一个请求一个用例。(输入接口路径,访问方式,参数等) d、然后创建断言和查看结果树。3、最后调试并执行用例,最后编写接口测试报

    2022年9月30日
    3
  • 基于cesuim三维框架开发的三维路径分析的实现「建议收藏」

    基于cesuim三维框架开发的三维路径分析的实现「建议收藏」1、可以利用百度地图web服务或者天地图web服务,得到二维的路径分析的经纬度;2、利用cesuim地形数据采样接口:sampleTerrain得到高程,然后就有了三维路径分析的坐标信息;3、然后利用画线的接口,就能完成路径分析;记录一下sanpleTerrain的用法://QuerytheterrainheightoftwoCartographicpositionsva…

    2022年8月24日
    5
  • IntelliJ IDEA 2021.10 激活码【2021免费激活】「建议收藏」

    (IntelliJ IDEA 2021.10 激活码)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html1STL5S9V8F-eyJsaWNlbnNlSW…

    2022年3月27日
    511
  • pycharm上传代码到git_gitee收费吗

    pycharm上传代码到git_gitee收费吗前提:1、在码云https://gitee.com/ 中已经注册了账号,并且已经创建了仓库2、已经安装了git客户端: 3、在settings中设置gitee账户,登入:  、 3、在pycharm中安装gitee插件:file–setttings–plugins–搜索gitee,安装:  4、安装成功后检查:  5、提价本地项目代码到gitee:选中要提交的项目后VCS-…

    2022年8月26日
    5
  • TCP的拥塞控制_假设tcp拥塞控制算法中

    TCP的拥塞控制_假设tcp拥塞控制算法中在某段时间,若对网络中某一资源的需求超过了该资源所能提供的可用部分,网络性能就要变坏,这种情况就叫做网络拥塞。在计算机网络中数位链路容量(即带宽)、交换结点中的缓存和处理机等,都是网络的资源。若出现拥塞而不进行控制,整个网络的吞吐量将随输入负荷的增大而下降。当输入的负载到达一定程度吞吐量不会增加,即一部分网络资源会丢失掉,网络的吞吐量维持在其所能控制的最大值,转发节点的缓存不够大这造成分…

    2022年4月20日
    57
  • 打造一个红旗(redflag)Linux的基础镜像(base image)「建议收藏」

    打造一个红旗(redflag)Linux的基础镜像(base image)「建议收藏」起因由于工作原因,想找一个红旗Linux的基础镜像(baseimage)。网上搜了一下,但没有现成的。起初是想找对应的centos版本来代替,但又怕有些莫名其妙的问题。官方文档不过搜索过程中,

    2022年7月2日
    41

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号