我有一个通过USB连接到PC的android设备(Samsung galaxy tab)。
我想使用WebServices并运行一个网页,该网页位于我的android设备上PC的本地xampp服务器上。
如果我的PC和android设备都连接在同一无线网络上,则可以实现。
但是,仅使用USB连接就可以在没有任何无线连接的情况下访问localhost页面。
(PS:当我在模拟器上运行应用程序并使用ip 10.0.2.2访问我的PC上的本地主机时,这种情况也适用。)
我有一个通过USB连接到PC的android设备(Samsung galaxy tab)。
我想使用WebServices并运行一个网页,该网页位于我的android设备上PC的本地xampp服务器上。
如果我的PC和android设备都连接在同一无线网络上,则可以实现。
但是,仅使用USB连接就可以在没有任何无线连接的情况下访问localhost页面。
(PS:当我在模拟器上运行应用程序并使用ip 10.0.2.2访问我的PC上的本地主机时,这种情况也适用。)
Answers:
我终于解决了这个问题。我在Froyo上使用了三星GalaxyS。下面的“端口”与用于仿真器的端口相同(10.0.2.2:port)。我做了什么:
http://192.168.x.x:port/test.php现在应该可以了。
Google在这里发布了针对此类问题的解决方案。
步骤:
->更多工具,远程设备。3333在左侧键入localhost:5000,然后键入,然后单击添加规则。chrome://inspect/#deviceschrome并跳到答案的端口转发步骤。
ERR_EMPTY_RESPONSE从设备上的Chrome重新获得这些说明...直到我终于意识到我没有在台式机上运行本地主机服务器并且没有任何东西可做实际连接到!h!启动服务器(在本例中为Apache),一切立即开始运行。重要的第一步是在设置端口转发之前,确保目标服务器确实正在运行。
我读过许多论坛并尝试过Play应用,但直到现在都没有找到解决方案。
我相信我的情况与您的情况相似,但我会澄清以帮助他人。我有一个本地托管的网站和网络服务,供我的android应用程序使用。我需要在仅使用笔记本电脑而没有网络连接的情况下进行演示。
注意:将我的iPhone用作wifi热点并同时连接我的PC和android设备都可以,但是iPhone 4S的连接速度很慢,并且经常掉线。
我的解决方案如下:
http://192.168.1.1/myWebSite这是我的Android应用程序的一部分代码:
该应用程序能够在服务器上运行的servlet和插入USB可调试模式的Android设备之间通过HTTP get-post模型进行通信(因为该应用程序正在开发中)。
当服务器Tomcat Apache 7运行时(当应用程序开发完成时),我还可以通过Wi-Fi运行该应用程序。

获取您的IP地址
ipconfig在列表中,IPv4地址 是您的IP。
我是在Windows电脑上完成此操作的,它运行完美!
在您的手机中打开USB网络共享。在计算机的命令提示符中键入ipconfig并找到用于“以太网适配器本地连接x”的ipv4(主要是第一个)。现在转到您的移动浏览器,键入该ipv4和Web应用程序的端口号。例如:-192.168.40.142:1342
只需执行这些简单步骤即可!
如何在实际的Android设备中轻松访问LocalHost->通过USB将PC与android设备连接
检查镀铬检查工具的底部。
现在转到“远程设备”选项卡中的设置。
检查“发现USB设备”选项以及“端口转发”选项。
现在,单击“添加规则”,输入任何设备端口,例如(4880),然后在“本地地址”中输入本例中本地主机的实际地址,例如(127.0.0.1:480)
添加规则后,转到代码URL(http://127.0.0.1:4880)中的android studio-> 。记住将端口从480-> 4880更改。
转到Chrome中的“远程设备”标签,然后单击您已连接的设备。添加新URL(127.0.0.1:4880) 检查Android设备Chrome浏览器
检查您的实际设备Chrome浏览器,然后开始在实际Android设备上调试代码。
检查USB连接类型选项。您应该拥有一个称为“ Internet直通”的设备。这样一来,您的手机即可使用与PC相同的连接。
我非常喜欢John的答案,但我想对要测试某些客户端/服务器配置的内容进行一些更改,方法是在连接USB的Mobile上运行客户端TCP,然后在本地PC上运行服务器。
首先,很明显10.0.2.2无法使用,因为它是REAL硬件移动设备,而不是模拟器。
因此,请按照约翰的指示进行:
开启Android选单中的[USB网路共用](USB Modem / USB Cellular Modem / USB etherימושכמודםסלולרי)。(在网络下->更多...->网络共享和便携式热点”)
获取您的PC的IP(已由USB系绳电缆分配。)(打开命令提示符并键入“ ipconfig”,然后查找USB网络适配器已分配的IP,在Linuxifconfig或Ubuntu的“连接信息”等中)。 ..)
告诉应用程序使用类似(Java-客户端)的方式连接到该IP(即192.168.42.87):
String serverIP = "192.168.42.87";
int serverPort = 5544;
InetAddress serverAddress = InetAddress.getByName(serverIP);
Socket socket = new Socket(serverAddress, serverPort);
...
请享用..
通过USB电缆连接android手机并访问计算机上的http服务器。
防火墙-将其关闭,一切正常后,您可以在“入站规则”下添加一个规则,启用Apache HTTP Server(UDP和TCP)(或您使用的任何HTTP服务器)警告-如果关闭防火墙,则计算机容易受到攻击遭受互联网攻击。因此,请先关闭互联网并断开与网络的连接。您无需连接到Internet即可工作,因为您正在连接本地网络上的两个设备。
插入USB电缆。如果弹出网络窗口,请选择“本地网络”。如果未弹出,则可能将其设置为“公共”(将不起作用),因此请转到:控制面板\网络和Internet \网络和共享中心(在win7中)并将其设置为“本地网络”。按下它以共享图片,音乐后,它可能会给您提供下一个屏幕...只需单击取消就可以了。在主屏幕上,“家庭网络”仍将处于活动状态。
您需要计算机的IP,本地主机或其他别名不起作用。要获取计算机的IP,请启动Windows命令行外壳程序(按Windows键+ R并键入cmd),黑色命令提示符窗口应弹出,键入:“ ipconfig”并按Enter键。现在寻找
IPv4地址。。。。。。。。。。。:192.168。###。###这是电话分配给计算机的IP
现在您应该已经完成了,在手机的浏览器中,尝试从计算机的服务器访问测试html文件,它应该可以正常显示。
现在一切正常,您可能需要在计算机上启用防火墙和Internet访问。现在,尝试再次访问您的http服务器。它可能行不通。根据您的设置,您可能会看到一个弹出窗口,要求您添加允许它的规则,但是如果您不这样做,请自己添加。启动Windows防火墙并转到“入站规则”(因为它是服务器)并添加“新规则”。选择“程序”。找到您的http服务器的exe,然后在下一个屏幕中确保选中“允许”。尝试重新连接,现在应该可以了。如果不是,则可能是因为您选择了错误的exe。您甚至可以更高级地限制外部使用(因为现在互联网上的每个人都有您的Internet IP地址都可以访问它)要限制访问,您可以右键点击刚创建的新规则,
对于Android开发人员,请注意,现在在您的android代码中,您必须使用“ http://”,否则它将无法正常工作。例如:MyAsyncTask.execute(“ http://192.168.123.123/test.html”)
第二部分-将IP设置为固定/静态。
现在一切正常,每次拔下电缆再重新插入,您的IP都会改变。而且,如果您在代码内部的某个地方使用它,则每次都必须对其进行更新!我想出的解决方案是将IP设置为静态。
该IP将是您的新固定/静态IP,并且在您下次插入电话时保持不变。
adb devices。这适用于Windows和Ubuntu Linux,也适用于Mac。