前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Android模拟器修改hosts文件详解

Android模拟器修改hosts文件详解

作者头像
全栈程序员站长
发布2022-11-01 16:14:16
4K0
发布2022-11-01 16:14:16
举报
文章被收录于专栏:全栈程序员必看

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.cn/180029.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年10月20日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Android模拟器修改hosts文件详解
    • 前言
      • 一、配置准备
        • 1.adb环境变量配置
        • 配置结果:
        • 2.创建一个模拟器
      • 二、hosts修改
        • 1.步骤
        • 2.启动模拟器
        • 3.修改文件
      • 三、小结
        • 【参考网址】
        • 【个人备用】指令清单
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档