有什么方法可以从 Android 应用程序获取 Chromebook 的真实 IP 吗?

Is there any way to get the real ip of a Chromebook from an Android app?

我有一个 Android 应用需要设备的真实 IP,而不是虚拟网络 IP。我不想要 public IP,除非 Chromebook 在 public IP 上,我只需要 LAN 的私有 IP,但现在我正在获取我的虚拟 IP'我猜是 Android 个应用程序的虚拟网络。

同时使用 WifiManagerNetworkInterface.getNetworkInterfaces() 我得到的只是虚拟 IP。调用外部服务器将不起作用,因为那样会给我 public IP。

我知道过去有人问过这个问题,但我只是想看看是否有人找到了方法?

这在 ChromeOS.dev 上有更详细的回答。

要获取分配给 Chrome OS 设备连接到的最高优先级网络的 IPv4 地址,请检查 android 系统 属性 arc.net.ipv4.host_address,如果需要,arc.net.ipv4.host_gateway。一种方法是:

fun getChromeOsIpAddress() : String {
   val process = ProcessBuilder().command("/system/bin/getprop", "arc.net.ipv4.host_address").start()
   val ipAddress = readInput(process.inputStream)
   return ipAddress
}

fun getChromeOsIpGateway() : String {
   val process = ProcessBuilder().command("/system/bin/getprop", "arc.net.ipv4.host_gateway").start()
   val gatewayAddress = readInput(process.inputStream)
   return gatewayAddress
}

此 post 已在 Apache 2.0 下获得许可。

https://developers.google.com/open-source/devplat