Chromebook 也可以运行 APK 应用,那为啥不直接使用 Android 系统

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Chromebook 也可以运行 APK 应用,那为啥不直接使用 Android 系统相关的知识,希望对你有一定的参考价值。

直接使用 android 系统有很多麻烦,Android 与 Intel (那时候也是潜在的合作商)的兼容性尚成难题;而且 Android 太过开放,不好掌握,开源协议限制了 Google 对 OEM 使用 Android 源码的干涉能力,而 Google 是希望在桌面系统上能有和微软一样的掌控力的,怎么办?
于是 Google 高层就把希望寄托于同样有相当成熟的软件生态的 Chrome 上了,ChromeBook 随之孕育而生。
事实证明,高层的感觉是对的,Chrome 上本身就具有数量庞大的工具(相当一部分是生产力工具),ChromeBook 的市场表现频频传来捷报,但还是不够满足一部分人员的需求,也就是还有很大的市场份额可以压榨,怎么办呢?
再然后就有了 I/O 大会上我们看到的一幕:Chrome OS 宣布支持 Android 本地应用。
不过当然,这俩迟早是要合体的,只是时间问题而已。
作者:aUcid
链接:https://www.zhihu.com/question/24299163/answer/27332891
来源:知乎
参考技术A 很简单在手机里简单设置一下就好了!

从 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 服务器上运行的页面。我试过localhost127.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

现在我可以使用http://100.115.92.203:8080从android chrome访问Web服务器了

【讨论】:

你能从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 的本地主机?

Chromebook 可以在哪些 API 级别上运行?

注销在单应用展台模式下运行的托管 chromebook

通过 Android 应用程序的 Chromebook 规范

如何在 Chromebook 上编码/运行 Ruby [关闭]

三星终于为Chromebook Pro引入了背光键盘