我使用PHP和MySQL在OS 10.5.8服务器上开发我的所有站点,并且我已经配置了我/etc/hosts
和httpd.conf
文件以example.dev
在该机器上的任何浏览器中显示我的站点.
我最近安装了Android的软件开发工具包,我想用它来开发和测试针对移动Webkit的样式表 - 但是我无法在Android浏览器中访问我本地托管的项目.
这是有道理的,因为它模仿整个Android操作系统,但是有解决方法吗?或者我可以只测试存在于实际计算机互联网上的项目,也许是在隐藏目录中?
有人建议我编辑我的/etc/resolv.conf
文件,但我不知道格式化本地托管域的正确方法resolv.conf
- 我尝试了以下的变体,并且没有任何作用:
domain example.dev nameserver 127.0.0.1
要么...
domain example.dev nameserver localhost
在我的hosts文件中,它设置如下:
127.0.0.1 localhost example.dev example2.dev [etc]
emmby.. 13
您应该能够在Android模拟器的URL中使用您的mac的IP地址,并能够以这种方式访问您的网站.当然,请确保在"系统偏好设置"中的"共享"下打开"Web共享",并且防火墙未阻止该地址.
或者,您可以使用虚拟主机IP地址10.0.2.2.在运行模拟器时,它将始终映射到主机mac.
如果由于某种原因您不想在网址中使用IP地址,则可以通过修改模拟器中的/ etc/hosts将Mac的IP地址映射到您选择的任何名称.为此,您需要先对文件系统进行读写,然后将您的mac的IP和您想要的任何主机名添加到/ etc/hosts:
adb -e shell # mount -o remount,rw -t yaffs2 /dev/block/mtdblock0 /system # echo '10.0.2.2 cat-yodeling.local' >> /etc/hosts
然后从浏览器访问" http://cat-yodeling.local ".你应该好好去.
您应该能够在Android模拟器的URL中使用您的mac的IP地址,并能够以这种方式访问您的网站.当然,请确保在"系统偏好设置"中的"共享"下打开"Web共享",并且防火墙未阻止该地址.
或者,您可以使用虚拟主机IP地址10.0.2.2.在运行模拟器时,它将始终映射到主机mac.
如果由于某种原因您不想在网址中使用IP地址,则可以通过修改模拟器中的/ etc/hosts将Mac的IP地址映射到您选择的任何名称.为此,您需要先对文件系统进行读写,然后将您的mac的IP和您想要的任何主机名添加到/ etc/hosts:
adb -e shell # mount -o remount,rw -t yaffs2 /dev/block/mtdblock0 /system # echo '10.0.2.2 cat-yodeling.local' >> /etc/hosts
然后从浏览器访问" http://cat-yodeling.local ".你应该好好去.
我遇到了同样的问题.@ emmby的解决方案听起来应该完全符合我的需要,但奇怪的是它似乎没有用.命令已运行,但之后查看hosts文件显示它实际上没有更新.
但我做了一些研究,我已经弄清了问题所在.
我遇到的核心问题是模拟设备的操作系统已经占用了100%的可用存储空间,因此编辑没有写入hosts文件.但是,也没有给出错误消息.
我的猜测是@emmby没有这个问题的原因是因为问题因你放在模拟器上的Android版本而异; 某些版本可能会为您提供一些可用的空间.
如果确实遇到此问题,解决方法是启动具有更多存储的模拟器.这可以通过命令的-partition-size
参数来完成emulator
,如下所示:
emulator -partition-size 128 @MyEmulatedDevice
然后,您可以使用该adb -e shell
命令并根据@emmby的答案编辑该文件.
但是,如果从shell编辑文件很麻烦,adb
那么还可以让您将其从仿真器复制到主机操作系统,在本地编辑它,然后再将其复制回来.它还涉及重新安装.你会这样做:
adb pull /system/etc/hosts C:\wherever\you\want\to\save\it
然后在您喜欢的编辑器中编辑它.
然后将模拟器重新安装到读/写模式,并将文件复制回:
adb remount adb push C:\wherever\you\saved\hosts /system/etc/hosts
请注意,由于模拟器在重新启动时会重置为默认状态,因此这可能是更好的解决方案,因为您可以在本地保留已编辑的文件,因此您不必adb pull
每次都重复和编辑步骤; 你可以简单地启动模拟器,做remount
和push
,并且你在做生意.
希望有所帮助.