【问题标题】:Access Chromebook's localhost from Android apps?从 Android 应用程序访问 Chromebook 的本地主机?
【发布时间】:2018-05-28 06:07:56
【问题描述】:

我有一台在开发人员模式下设置的 Chromebook,同时运行了一个安装了 crouton 的 Linux 版本。在Linux crouton 中,我正在运行一个简单的网络服务器。

我的问题是,是否可以使用也在该 Chromebook 上运行的任何 Android 应用访问该服务器?

Android 应用程序已经可以在 ChromeOS 上本地安装一段时间了,但我读过的所有内容都表明它们在某种沙盒中运行。 ChromeOS 本身的防火墙规则也非常严格。

刚开始,我正在尝试使用 Chrome 浏览器的 Android 版本来加载在 Linux crouton 中的 Web 服务器上运行的页面。我试过localhost127.0.0.1 和 Chromebook 当前的 IP 地址。

我按照https://developer.android.com/topic/arc/index.html 的说明在Android 端启用了开发人员模式,并且我认为在ChromeOS 端放宽了这些防火墙规则。

有什么我想念的秘方吗?这甚至可能吗?

【问题讨论】:

    标签: android linux networking chromebook


    【解决方案1】:

    jlb 和 tomdemuyt 的解决方案是用于从 chromeos(即 ftp 服务器)访问 android 应用

    但是,我需要相反的方式(从 android chrome 浏览器访问在 linux 虚拟环境中运行的节点服务器),这基本上是 ChillyPenguin 提出的问题。

    我终于解决了:

    • 启动您的网络服务器并确保您可以使用 localhost 访问它(在我的例子中是 http://localhost:8080
    • 在 chromeos 终端内运行
    hostname -I
    100.115.92.203 (and an ip:v6:adress:...)
    

    (或者更详细的ip addr show

    【讨论】:

    • 你能从Android App中发现100.115.92.203(在这种情况下)IP还是需要提前硬编码?
    【解决方案2】:

    利用@tomdemuyt 的帖子,他的引文来源说,Android 应用程序将被分配一个私有 IP 地址,因此您可以访问本地 IP 流量,而不是使用 localhost 或 127.0.0.1。

    例如,从termux 执行ifconfig 并查找本地IP 地址。然后运行您的服务,例如来自 termux 或 kWs、任何 Android 应用程序的节点......并将 Chrome 指向 http://<your-local-ip-address>:<your-service-port>

    127.0.0.1 和 localhost 可以在其他 Android 应用上运行,但 Chrome 不行。

    【讨论】:

      【解决方案3】:

      我有完全相同的问题,发现这个: https://developer.android.com/topic/arc/index.html#network

      似乎本质上不允许从本地 Chrome 到 Android 网络服务器的 IP 流量..

      更新(感谢 jlb 的 ping) 但是,您可以在面包块中运行 ifconfig。然后您可以通过该 IP 地址访问您的内容。我想知道 Firefox 是否会为您使用该快捷方式..

      【讨论】:

      • 在我的安装中,Firefox 是一个 Android 应用程序(与 Chrome 扩展程序或 ChromeOS 应用程序相反),我假设它在与运行 node.js 的 termux 相同的模拟器或容器下运行。所以我的猜测是Firefox的网络配置是相对于模拟器的。
      猜你喜欢
      • 1970-01-01
      • 2022-07-25
      • 2015-01-14
      • 2017-06-17
      • 1970-01-01
      • 1970-01-01
      • 2017-10-20
      • 2016-01-10
      • 2023-04-09
      相关资源
      最近更新 更多