因为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文件再推送回去。

这个问题是因为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,熟悉的页面也出现了。

具体步骤如下

1、获得root权限:adb root

2、设置/system为可读写:adb remount

3、将hosts文件复制到PC:adb pull /system/etc/hosts <PC机上文件名>

4、修改PC机上文件

5、将PC机上文件复制到手机:adb push <PC机上文件名> /system/etc/hosts

但在第五步时,有的人会报  out of memory的错误

这是因为直接用命令行启动,而没加一个参数造成的,所以用下面这个命令来启动就行了

$emulator –avd youravdname –partition-size 128

来源于(可能被墙了)

http://www.cuteandroid.com/tips-for-android-developer-failed-to-copy-file-to-system

android 下修改 hosts文件 及 out of memory的解决的更多相关文章

  1. mac 下修改Hosts文件

    最近Google网站老是打不开,具体原因大家都明白,不过修改Hosts文件后,就能访问了,也算不上原创,网上一搜就能找到,自己操作记录下,希望有刚接触Mac 系统的童鞋有帮助. 第一步:打开Finde ...

  2. Mac下修改Hosts文件工具——Gas Mask

    这段时间在做公司APP的项目,看到公司开发IOS的同事和我这边联调程序时,经常需要手动修改hosts文件,比较麻烦. 在公司忙,没有来及找,给同事推荐了我当时知道的一个切换hosts文件的工具:sma ...

  3. Ubuntu下修改hosts文件

    Ubuntu系统的Hosts只需修改/etc/hosts文件,修改完之后要重启网络.具体过程如下:1.修改hostssudo gedit /etc/hosts2.添加解析记录( . )或者从githu ...

  4. windows7下修改hosts文件无效解决办法(转)

    通常会为了开发方便.或者屏蔽掉一些恶意网站,我们会在hosts(c:\windows\system32\drivers\etc\hosts)文件中进行相应的域名指向,例:

  5. windows7下修改hosts文件无效解决办法

    通常会为了开发方便.或者屏蔽掉一些恶意网站,我们会在hosts(c:\windows\system32\drivers\etc\hosts)文件中进行相应的域名指向,例:

  6. Android手机中怎么样在没root的情况下 修改 hosts 文件

    工具  链接:https://pan.baidu.com/s/1AENluDCQ-2qYDPcE5K6l8g 密码:t7eu  http://bbs.360.cn/forum.php?mod=view ...

  7. centos下修改hosts文件以及生效命令

    修改 vim /etc/hosts 生效 service network restart 或者 /etc/init.d/network restart

  8. 修改hosts文件,修改后不生效怎么办

    当你在打开浏览器的情况下修改hosts文件时,关闭浏览器时系统才会释放掉hosts文件占用的那部分内存,我们再次打开浏览器访问就发现已经生效了. ps:ipconfig /flushdns     # ...

  9. 在 Mac OS X Lion 下修改 Hosts 的四种方法

    一名刚刚使用 Mac OS X Lion 系统的朋友问我怎么该系统下修改 Hosts 文件,说网上搜了很多办法都不管用,只要编辑 Hosts 文件就出现”你不是文件 hosts 的所有者,因此没有权限 ...

随机推荐

  1. C++11 多线程

    C++11开始支持多线程编程,之前多线程编程都需要系统的支持,在不同的系统下创建线程需要不同的API如pthread_create(),Createthread(),beginthread()等,使用 ...

  2. poj 1003 Hangover

    #include <iostream> using namespace std; int main() { double len; while(cin >> len & ...

  3. cocos2dx使用了第三方库照样移植android平台-解决iconv库的移植问题

    当我写这篇文章的时候我是怀着激动的心情的,因为我又解决了一个技术问题.你可能对题目还一知半解,这是什么意思,我之所以要写这篇文章就是要解决当我们在cocos2dx中使用了第三方库的时候,移植到andr ...

  4. JVM系列四:生产环境参数实例及分析【生产环境实例增加中】

    java application项目(非web项目) 改进前: -Xms128m-Xmx128m-XX:NewSize=64m-XX:PermSize=64m-XX:+UseConcMarkSweep ...

  5. STL学习系列八:Set和multiset容器

    1.set/multiset的简介 set是一个集合容器,其中所包含的元素是唯一的,集合中的元素按一定的顺序排列.元素插入过程是按排序规则插入,所以不能指定插入位置. set采用红黑树变体的数据结构实 ...

  6. hdu 5510 Bazinga

    http://acm.hdu.edu.cn/showproblem.php?pid=5510 Problem Description: Ladies and gentlemen, please sit ...

  7. MEF(Managed Extensibility Framework)依赖注入学习

    MSDN官方资料,并且微软还提供了SimpleCalculator sample学习样例 http://msdn.microsoft.com/en-us/library/dd460648(v=vs.1 ...

  8. 几种连接不同数据库的ADO.NET字符串

    Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;或者 Ser ...

  9. 如何防止ASP.NET网站遭受CSRF的攻击

    转载地址: http://www.cnblogs.com/shanyou/p/5038794.html?hmsr=toutiao.io&utm_medium=toutiao.io&ut ...

  10. 完成端口(IOCP)怎么判断某个连接是否断开

    完成端口函数: BOOL GetQueuedCompletionStatus( HANDLE CompletionPort, LPDWORD lpNumberOfBytes, PULONG_PTR l ...