23

我想调试我的 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.

4

5 回答 5

27

Google 在 Chrome 29 及更高版本中添加了支持,以使用反向端口转发通过适用于 Android 的 Chrome 上的 USB 电缆访问本地开发机器上托管的网站。可以在以下 URL 中找到设置说明:

从桌面版 Chrome 30 起,反向端口转发不再是 Chrome 中的实验性功能。可以通过about:inspect在您的 PC 的地址栏中键入,然后单击“启用端口转发”复选框并单击位于窗口右上角的“配置端口转发”按钮来访问它。

完成后,通过 USB 连接您的移动设备。在您的移动设备上打开 Chrome localhost:8000(或您在本地服务器上配置的任何端口)。

反向端口转发功能将确保您的 Android 设备现在可以看到您 PC 的localhost.

于 2013-10-04T22:49:05.800 回答
18

因为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

于 2012-07-04T11:54:10.437 回答
5

为此,您需要在 xampp 服务器中进行一些更改... 为您的系统分配 1 个静态 IP 地址,然后您需要将 xampp 服务器置于在线模式。之后,您可以在您的 android 应用程序中使用该 IP 地址而不是 10.0.2.2。对我来说很好,因为我将本地主机与我的 android 应用程序一起使用。

于 2012-07-04T12:16:40.383 回答
3

您可以通过 Wi-Fi 共享 Mac 的 Internet 连接。然后,您的 Android 应用程序可以通过 Wi-Fi 通过 HTTP 连接到在 Mac 上运行的 Servlet。步骤是:

  1. 在 Mac 上运行系统偏好设置
  2. 转到“共享”选项卡
  3. 开启“网络共享”
  4. 在“Share your connection from”组合中选择“Ethernet”
  5. 在“使用的计算机”列表框中选择“Wi-Fi”
  6. 使用“Wi-Fi 选项...”按钮配置 Wi-Fi 安全性。现在,您的 Mac 是一台 Wi-Fi 服务器,并且正在共享其以太网 Internet 连接。
  7. 配置您的 Android 设备的 Wi-Fi 以连接到您的 Mac(在设置命令中)
  8. 在您的 Mac 上,转到系统偏好设置中的网络选项卡,然后在列表中选择 Wi-Fi 以找出您的 Mac 在 Wi-Fi 网络上的 IP 地址(对我来说是 169.254.66.223)
  9. 在您的 Android 应用程序中,您现在可以使用“http://169.254.66.223:8080/YourServer/YourServlet”连接到 Mac 中的 Servlet
于 2013-01-13T09:13:13.517 回答
0

我认为你有两个选择

当您使用真正的 android 设备时,第一个是使用 10.0.2.3。它适用于我。

您的第二个选择是从您的电脑创建热点并将您的 android 设备连接到热点。

使用 cmd 类型“ipconfig”查找 ip 地址,将 localhost 替换为 ip 地址。

谢谢。

于 2018-11-20T15:46:29.850 回答