如何使用Android SDK模拟器查看本地托pipe的项目?

我使用PHP和MySQL在OS 10.5.8服务器上开发了所有的站点,并且configuration了我的/etc/hostshttpd.conf文件,以便在该机器的任何浏览器的example.dev中显示我的站点。

我最近安装了Android的软件开发工具包,我想用它来开发和testing针对移动Webkit的样式表 – 但是我无法在Android浏览器中访问我的本地托pipe项目。

这是有道理的,因为它是模拟整个Android操作系统,但有没有解决方法? 或者我可以只testing在实际的计算机互联网上的某个地方存在的项目,也许在一个隐藏的目录中?

有人build议我编辑我的/etc/resolv.conf文件,但我不知道在resolv.conf格式化本地托pipe域的正确方法 – 我尝试了以下变体,并且没有任何工作:

 domain example.dev nameserver 127.0.0.1 

要么…

 domain example.dev nameserver localhost 

在我的主机文件中,它是这样设置的:

 127.0.0.1 localhost example.dev example2.dev [etc] 

Solutions Collecting From Web of "如何使用Android SDK模拟器查看本地托pipe的项目?"

你应该能够在android模拟器的URL中使用你的mac的IP地址,并能够以这种方式访问​​你的网站。 当然,请确保Web共享在“系统偏好设置”中的“共享”下打开,并且防火墙不阻止该地址。

或者,您可以使用虚拟主机IP地址10.0.2.2。 运行模拟器时,这将始终映射到您的主机mac。

如果出于某种原因,您不希望在您的URL中使用IP地址,则可以通过修改模拟器中的/ etc / hosts来将您的Mac的IP地址映射到您select的任何名称。 要做到这一点,您需要首先使文件系统可读写,然后将您的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的解决scheme听起来像应该做我所需要的,但奇怪的是,似乎没有工作。 该命令运行,但后来查看主机文件显示,它实际上并没有被更新。

但是我做了一些更多的研究,并且找出了问题所在。

我遇到的核心问题是仿真设备的操作系统已经占用了100%的可用存储空间,所以编辑没有写入主机文件。 但是,也没有给出错误信息。

我的猜测是@emmby没有这个问题的原因是因为这个问题取决于你放在模拟器上的Android版本。 有些版本可能会给你一些空闲的空间。

如果确实有这个问题,解决方法是用更多的存储启动模拟器。 这可以通过emulator命令的-partition-size参数完成,如下所示:

 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 

请注意,由于无论何时重启模拟器,模拟器都会重置为默认状态,这可能是一个更好的解决scheme,因为您可以将编辑的文件保存在本地,所以不必每次都重复adb pull和编辑步骤。 你可以简单地启动模拟器, remountpush ,然后开始工作。

希望有所帮助。

我在本地networking中使用计算机IP地址解决了类似的问题。

按照以下两个链接上的说明操作:

http://www.codingonstilts.com/2012/04/android-emulator-hosts-file-entry.html (请务必注意IP地址和主机名以及文件底部的换行符之间的选项卡)我做了一个“[SDKLOCATION] / platform-tools / adb pull / system / etc / hosts WHATEVERHOSTFILENAME”来首先查看原始主机文件的格式,然后用它推回去。

然后: http : //www.codingonstilts.com/2012/06/sync-os-x-hosts-file-to-android.html

为我工作 – 祝你好运!

根据android文档,您可以使用模拟器上的10.0.2.2访问您的系统127.0.0.1 IP,这是您的主机回送接口的特殊别名。