将 Android 应用程序连接到本地主机,简化糟糕的方法正确、简单的方法为什么没有人告诉我这个?

2025-06-07

简化将 Android 应用连接到本地主机

坏方法

正确且简单的方法

为什么没人告诉我这个?

PS 如果你很着急,可以在这里找到正确的解决方案

几个月前,我正在从事一个全栈项目,我想从我的 Android 应用程序向我的桌面发出 API 请求,但由于某种原因,localhost:8000无法通过我的手机轻松访问。

嗯,可以理解,我知道每个设备的 localhost 都是独立的,无法被你的家庭网络(比如你的 Wi-Fi)访问。所以我笔记本电脑上的 localhost 无法访问我手机上的 localhost。

于是,我向 Google 求助。我得到了很多解决方案,其中最合理的一个是“使用你电脑的内部 IP 地址”,就这样。

坏方法

图像

如果你使用的是 Windows,请使用 ipconfig

在我的计算机上运行后ip addr发现笔记本电脑的内部 IP 是192.168.29.76

果然,只要两台设备使用同一个 Wi-Fi 网络,就可以访问,http://192.168.29.76:8000而不是http://localhost:8000访问。我的 Android 应用现在可以向本地后端服务器发出 Web 请求了 🎉

但这个解决方案……有点不稳定。

笔记本电脑的内部 IP 地址在连接到 Wi-Fi 时可能会不断变化,具体取决于各种因素。每次变化时,您都必须在应用代码中更改 URL,这很不理想。

还有其他方法,例如使用 ngrok,但它面临类似的问题。

正确且简单的方法

使用adb reverse

是的,就是这样。

通过 USB 将您的 Android 设备连接到您的电脑,确保您已设置 adb,然后在您的终端中运行此命令:



adb reverse tcp:8000 tcp:8000


Enter fullscreen mode Exit fullscreen mode

现在,您的手机可以localhost:8000像 PC 一样访问了。(您可以将其替换8000为您想要转发的任何端口)

为什么没人告诉我这个?

adb reverse是的,当我尝试在 Google 或 StackOverflow 上寻找它时却找不到任何人提及它的存在,这让我很惊讶。

这就是我写这篇博客的原因。希望adb reverse它能更受欢迎。

如果你知道为什么adb reverse它不那么受欢迎,请告诉我。另外,如果你认识其他 Android 开发者,他们应该知道这个提高效率的小窍门,不妨分享一下这篇博客给他们。:P


封面图片由Unsplash上的Fotis Fotopoulos提供

文章来源:https://dev.to/tusharsadhwani/connecting-android-apps-to-localhost-simplified-57lm
PREV
👉 使用 📞 Twilio API 为 💬 WhatsApp 和 Node.js 提供表情符号翻译
NEXT
🔥 Twitter 上给开发者的 10 条建议 #10 作者:Marcel Gehlen #9 作者:Simon Rood #8 作者:Rowan Weismiller #7 作者:Juho Perälä Tied #6 作者:Hayley Denbraver and Sid #5 作者:Molly Struve #4 作者:Annie Garneau #3 作者:Matt Kahl #2 作者:Laurie #1 作者:Brian Morrison II 荣誉提名