Chromebook 也可以运行 APK 应用,那为啥不直接使用 Android 系统
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Chromebook 也可以运行 APK 应用,那为啥不直接使用 Android 系统相关的知识,希望对你有一定的参考价值。
参考技术A Chromebook是谷歌团队面向X86市场的硬件产品,android又是谷歌旗下的操作系统。但Android官方并未适配X86平台,只有第三方的Android X86,谷歌当然不会使用。所以就为ChromeBook定制了Chrome OS,因为都基于相同的内核,所以能或多或少运行apk程序。从 Android 应用程序访问 Chromebook 的本地主机?
【中文标题】从 Android 应用程序访问 Chromebook 的本地主机?【英文标题】:Access Chromebook's localhost from Android apps? 【发布时间】:2018-05-28 06:07:56 【问题描述】:我有一台在开发人员模式下设置的 Chromebook,同时运行了一个安装了 crouton 的 Linux 版本。在Linux crouton
中,我正在运行一个简单的网络服务器。
我的问题是,是否可以使用也在该 Chromebook 上运行的任何 Android 应用访问该服务器?
Android 应用程序已经可以在 ChromeOS 上本地安装一段时间了,但我读过的所有内容都表明它们在某种沙盒中运行。 ChromeOS
本身的防火墙规则也非常严格。
刚开始,我正在尝试使用 Chrome 浏览器的 Android 版本来加载在 Linux crouton 中的 Web 服务器上运行的页面。我试过localhost
、127.0.0.1
和 Chromebook 当前的 IP 地址。
我按照https://developer.android.com/topic/arc/index.html 的说明在Android
端启用了开发人员模式,并且我认为在ChromeOS
端放宽了这些防火墙规则。
有什么我想念的秘方吗?这甚至可能吗?
【问题讨论】:
【参考方案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的网络配置是相对于模拟器的。以上是关于Chromebook 也可以运行 APK 应用,那为啥不直接使用 Android 系统的主要内容,如果未能解决你的问题,请参考以下文章
从 Android 应用程序访问 Chromebook 的本地主机?
通过 Android 应用程序的 Chromebook 规范