我可以使用Android模拟器访问我的笔记本电脑web服务器,我使用10.0.2.2:portno 工作得很好。

但当我连接真正的Android手机时,手机浏览器无法连接到我笔记本电脑上的同一个web服务器。手机和笔记本电脑通过USB线连接。如果我运行 adb devices命令,我可以看到我的手机。

我错过了什么?


当前回答

这对我来说是有用的,我在127.0.0.1 ip后添加了另一行,以指定我想使用的设备的确切本地网络ip地址(而不是公共ip地址)。我用的是三星Galaxy S3

根据Bangptit的建议,编辑httpd.conf文件(x是版本号): C: \ wamp \ bin \ apache \ Apache2.x.x \ conf \ httpd . conf

搜索onlineoffline标签,并添加您的电话的ip(我发现我的电话ip地址在我的路由器配置页面):

Onlineoffline标签-不要删除

 Order Deny,Allow
 Deny from all
 Allow from 127.0.0.1

我的电话IP在下面一行

 Allow from 192.168.1.65 
 Allow from ::1
 Allow from localhost

可以将其扩展到包括整个子域,例如192.168.1.0/24等

其他回答

如果您正在使用真实的设备,但仍然面临这个问题,请遵循以下步骤,因为这些步骤可以帮助我解决问题:

确保移动设备和笔记本电脑都在同一个WiFi网络上。 验证您的目标URL是否有端口号,例如:https://localhost:44301 在Android Studio终端运行此命令,adb reverse tcp:44301 tcp:44301 将44301替换为端口号

希望你能顺利地跑起来。

Happy codding

在Windows PC上,您可能不需要做任何其他事情,只需使用“ipconfig”命令查找您的IPv4地址。

第一步:用USB线连接你的手机和电脑。 第二步:使用命令'ipconfig'找到你的IPv4地址(路由器的外部IP),例如192.168.1.5。 步骤3:只需从手机浏览器中访问“192.168.1.5:8080”。真的有用!

其他环境细节: Windows 7,谷歌Nexus 4 (4.2.2), Tomcat服务器,Grails应用程序。

你还应该确保你在AndroidManifest文件中有访问internet的权限:

<uses-permission android:name="android.permission.INTERNET"/>

您可以让web服务器在环回接口上侦听,而不是在网络接口上侦听。主要表现为:

在127.0.0.1和localhost(从localhost或Android模拟器)工作 点击192.168.xxx。xxx不能工作,无论是从本地主机,局域网或广域网

我在这里的回答中讨论了更多关于诊断和修复的问题。

这对我来说是有用的,我在127.0.0.1 ip后添加了另一行,以指定我想使用的设备的确切本地网络ip地址(而不是公共ip地址)。我用的是三星Galaxy S3

根据Bangptit的建议,编辑httpd.conf文件(x是版本号): C: \ wamp \ bin \ apache \ Apache2.x.x \ conf \ httpd . conf

搜索onlineoffline标签,并添加您的电话的ip(我发现我的电话ip地址在我的路由器配置页面):

Onlineoffline标签-不要删除

 Order Deny,Allow
 Deny from all
 Allow from 127.0.0.1

我的电话IP在下面一行

 Allow from 192.168.1.65 
 Allow from ::1
 Allow from localhost

可以将其扩展到包括整个子域,例如192.168.1.0/24等

在你的ubuntu/Macbook中使用这个来获取你系统的ip地址。你的手机和系统应该在同一个网络中

ip addr | grep inet这将给你一个看起来像192.168.168.46的ip地址。在你的智能手机上使用这个。

希望这能有所帮助。