Android 模拟器中修改host文件无效的解决办法
来源:互联网 发布:arm linux关系 编辑:程序博客网 时间:2024/05/17 04:47
最近在做的项目要通过域名调用内网的服务器,因为android模拟器host文件无法修改,导致无法通过域名使用http方法调用内网服务,因此从网上大量转载的一种方法,这种方法:
1. 通过emulator -avd avdName -partition-size 128 启动模拟器
2.通过adb root 和 adb remount 命令获得root权限。
3.通过 adb pull /system/etc/hosts 命令将hosts文件转移到PC上,手动修改hosts,并且通过adb push将hosts文件再推送回去。
但是我修改了以后依然无法通过域名访问所需要的ip地址,找了大量中文网页无果的情况下,转到各大国外论坛去找解决方案,后来终于被我找到一种行之有效的方法。这种方法出现在一个论坛的讨论帖的一个回复中(http://www.bradcurtis.com/2011/02/13/hosts-file-google-android-emulator/)。
这个问题是因为linux中的换行符和window中的回车换行不一致引起的,网上大部分方法是让利用ultraedit等编辑器直接修改,但是我复制到编辑器上依然无法修改。上贴中的malbers回复说,利用echo命令,可以直接通过命令将需要修改的内容添加到hosts文件中,试了一下,果然可行。
首先键入 adb shell 命令(新版本的sdk adb命令被转移到了platform-tools目录中),然后echo 192.168.0.246 www.aaa.com>>/system/etc/hosts,敲入上面这条
命令后,再使用 cat /system/etc/hosts查看hosts文件修改情况,发现hosts果然已经被修改,但是问题是依然没有换行,貌似只有换行了以后才能被识别,
因此再次利用echo命令加入了换行符,问题解决。具体操作如下:
前面几个步骤不变,但是不需要将hosts文件pull到电脑上,如果你已经修改了但是无效,可以先pull出来,还原到原始状态,不要有任何换行,并替换掉
模拟器上已经修改的hosts,使它回复到原始状态。即只有127.0.0.1 localhost。
然后进入adb shell , 使用 echo -e \\n >> /system/etc/hosts 为hosts文件加入换行符。
再次使用 echo 192.168.0.246 www.aaa.com >> /system/etc/hosts 。
这样就完整解决了换行问题。再次在浏览器中敲入www.aaa.com,熟悉的页面也出现了。
- Android 模拟器中修改host文件无效的解决办法
- 解决Android模拟器中修改host文件无效/android域名解析为Ip方法
- win7 Host文件修改后无效的解决办法
- 修改模拟器的host文件的方法
- android模拟器修改host
- 解决修改host文件无效的解决方法
- android下修改hosts文件不起作用(无效)的解决办法
- android下修改hosts文件不起作用(无效)的解决办法
- Android 修改HOSTS解决办法,android下修改hosts文件不起作用(无效)的解决办法
- android 模拟器修改hosts无效
- android 修改host 文件
- 修改hosts文件无效解决办法
- 修改hosts文件无效解决办法
- Android虚拟机修改host文件的方法
- host文件的修改
- 如何修改Android模拟器的hosts文件
- 修改Android模拟器的Hosts文件
- eclipse中android模拟器找不到的解决办法
- C/C++中int/long/float/double数值类型与字符串互相转换[总结]
- 正式成为ABAPer
- webBrowser1.Document.Cookie取不到HttpOnly的Cookie,取Cookie不完整
- 简明 Python 教程
- 'nasmw' 不是内部或外部命令,也不是可运行的程序
- Android 模拟器中修改host文件无效的解决办法
- 磁盘空间不足(一)
- 在C#中使用代理的方式触发事件 (委托和事件 )
- linux常用命令-rm和rmdir
- ASIHTTPRequest清除keyChain方法
- 错误整理
- Twitter收购安全软件公司Whisper Systems
- time.h 详细操作指南
- 共享内存