我想调试我的 android 应用程序,我使用 USB 电缆将 android 设备连接到我的 PC。在我的应用程序中有一个连接本地主机的按钮,本地主机的 ip 是10.0.2.2
,端口是8080
,我已经读到在移动设备上调试时,ip10.0.2.2
是 android 设备的本地主机,而不是我的 PC,所以我应该做些什么改变到 ip 而不是10.0.2.2
? 还是我必须再做一次改变?在这种情况下,我的 android 设备是sony ericsson xperia arc s
.
5 回答
Google 在 Chrome 29 及更高版本中添加了支持,以使用反向端口转发通过适用于 Android 的 Chrome 上的 USB 电缆访问本地开发机器上托管的网站。可以在以下 URL 中找到设置说明:
从桌面版 Chrome 30 起,反向端口转发不再是 Chrome 中的实验性功能。可以通过about:inspect
在您的 PC 的地址栏中键入,然后单击“启用端口转发”复选框并单击位于窗口右上角的“配置端口转发”按钮来访问它。
完成后,通过 USB 连接您的移动设备。在您的移动设备上打开 Chrome localhost:8000
(或您在本地服务器上配置的任何端口)。
反向端口转发功能将确保您的 Android 设备现在可以看到您 PC 的localhost
.
因为10.0.2.2是您的系统(pc)的本地主机地址(仅来自模拟器)。实际上,android 无法识别url 中的localhost。所以10.0.2.2就是这个意思。对于 android 设备环回地址也是127.0.0.1。
您的 10.0.2.2 网址是正确的。您也可以使用系统的静态 IP。
只需检查
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
在应用程序的清单文件中。
编辑:
在这里,您使用的是 8080 端口,因此请尝试在主机上使用adb 命令。
adb forward tcp:8080 tcp:8080
还请详细说明“我想在我的手机上调试我的应用程序”这一行。
笔记:
如果您要在真实设备上进行测试,请使用系统 (PC) 的网络 IP。
为此,您需要在 xampp 服务器中进行一些更改... 为您的系统分配 1 个静态 IP 地址,然后您需要将 xampp 服务器置于在线模式。之后,您可以在您的 android 应用程序中使用该 IP 地址而不是 10.0.2.2。对我来说很好,因为我将本地主机与我的 android 应用程序一起使用。
您可以通过 Wi-Fi 共享 Mac 的 Internet 连接。然后,您的 Android 应用程序可以通过 Wi-Fi 通过 HTTP 连接到在 Mac 上运行的 Servlet。步骤是:
- 在 Mac 上运行系统偏好设置
- 转到“共享”选项卡
- 开启“网络共享”
- 在“Share your connection from”组合中选择“Ethernet”
- 在“使用的计算机”列表框中选择“Wi-Fi”
- 使用“Wi-Fi 选项...”按钮配置 Wi-Fi 安全性。现在,您的 Mac 是一台 Wi-Fi 服务器,并且正在共享其以太网 Internet 连接。
- 配置您的 Android 设备的 Wi-Fi 以连接到您的 Mac(在设置命令中)
- 在您的 Mac 上,转到系统偏好设置中的网络选项卡,然后在列表中选择 Wi-Fi 以找出您的 Mac 在 Wi-Fi 网络上的 IP 地址(对我来说是 169.254.66.223)
- 在您的 Android 应用程序中,您现在可以使用“http://169.254.66.223:8080/YourServer/YourServlet”连接到 Mac 中的 Servlet
我认为你有两个选择
当您使用真正的 android 设备时,第一个是使用 10.0.2.3。它适用于我。
您的第二个选择是从您的电脑创建热点并将您的 android 设备连接到热点。
使用 cmd 类型“ipconfig”查找 ip 地址,将 localhost 替换为 ip 地址。
谢谢。