因为个别缘由,可能须要更改hosts文件指定域名到对应的IP地址。Android是基于Linux的系统,与Linux类似,通过hosts文件来设置。
在Android下,/etc是link到/system/etc的linux培训,我们须要更改/system/etc/hosts来实现。并且这个文件是只读,不能通过shell直接更改。可以通过联接到PC上使用adb来更改。步骤如下:
1、获得root权限:adbroot
2、设置/system为可读写:adbremount
3、将hosts文件复制到PC:adbpull/system/etc/hosts
4、修改PC机上文件
5、将PC机上文件复制到手机:adbpush/system/etc/hosts
假如要查看是否更改成功,可以在PC上执行adbshell,运行cat/system/etc/hosts;或则在手机上运行cat/system/etc/hosts。
在Android1.6系统中,hosts文件格式有一点与PC机Linux不同:不能在一行中一个IP对应多个域名linux hosts文件修改,例如:
127.0.0.1
在大多PC机Linux系统是合法的,但不能在Android1.6上起作用,须要拆成每位域名一行就能使用:
127.0.0.1
127.0.0.1
127.0.0.1
-------------------------------------------------------------------------------------------
android下更改hosts文件及outofmemory的解决
须要使用android模拟器访问某个网站,虽然是指向开发机器上的linux hosts文件修改,这时须要更改andorid上的hosts文件,
下边这个网站介绍了技巧
具体步骤如下
1、获得root权限:adbroot
2、设置/system为可读写:adbremount
3、将hosts文件复制到PC:adbpull/system/etc/hosts
4、修改PC机上文件
5、将PC机上文件复制到手机:adbpush
/system/etc/hosts
但在第五步时linux 虚拟主机,有的人会报outofmemory的错误
这是由于直接用命令行启动,而没加一个参数引起的,所以用下边这个命令来启动就行了
$emulator–avdyouravdname–partition-size128
来始于(可能被墙了)
修改Android模拟器中的hosts文件
下载android模拟器后解压得到android-sdk-linux_x86文件夹
步入到android-sdk-linux_x86/tools/
执行./android创建一个test的虚拟手机
启动虚拟手机并修改分区大小为128M
./emulator-avdtest-partition-size128
新打开一个终端在当前目录执行
./adbpull/system/etc/hosts/home/jecelyin/
取出hosts文件到PC上
之后执行
./adbroot
./adbremount
获得root权限并将虚拟手机上的/system重新挂载为可写
在笔记本上更改/home/jecelyin/hosts文件,假如须要虚拟手机访问笔记本上的web网站,hosts的ip地址应当为10.0.2.2
执行下边命令传回
./adbpush/home/jecelyin/hosts/system/etc/hosts
重启模拟器
以上就是Android 系统修改 hosts 文件的详细步骤与方法的详细内容,更多请关注CTO智库其它相关文章!