三星可翻转 Chromebook

在过去几年中,许多 Chromebook 都可以安装 Play 商店并运行 Android 应用。这为 Chromebook 打开了新的大门,使其不仅仅是美化的网络浏览器。现在,谷歌正在寻求对 Chrome OS 的 Android 应用程序支持进行一些重大改动。

Chrome OS 上的 Android 历史

大约四年前,谷歌为 Chrome 浏览器创建了一种运行 Android 应用程序的方式,称为 Android Runtime for Chrome(ARC)。这是专为 Chrome OS 设计的,但开发人员很快就了解到它可用于在任何桌面平台上运行 Chrome 浏览器中的 Android 应用。

虽然这种方法运作良好,但谷歌想要一些更有用的东西,特别是针对 Chrome OS。因此,他们开始开发下一代 ARC,「ARC ++」就此诞生。 ARC ++ 将 Android Runtime 与 Chrome OS 深度集成,允许使用 Play 商店等内容。这就是今天 Android 应用在 Chromebook 上运行的方式。

ARC ++ 之所以可能,部分原因是因为 Android 和 Chrome OS 都基于 Linux 内核。为了提高安全性,ARC ++ 实际上运行在「容器」中,这是一种将 Android 部件与其他 Chrome OS 隔离的方法。虽然这些努力肯定有所帮助,但 Chrome 团队已经承认存在改进的空间和潜在的攻击。

我们尝试将它们尽量完全隔离(使用命名空间、seccomp、alt 系统调用、SELinux 等等),但是在一天结束时,它们可以直接访问许多系统调用和内核接口,因此可以通过用 Android 的 NDK 编译的代码。

Chrome OS 上的 Linux 又有所不同

去年,谷歌在 Chrome OS上 发起了令人难以置信的努力,使 Linux 应用程序可供安装和使用(通常称为 Crostini)。这说起来容易,做起来却难得多。当然,如果你考虑一下,Chrome OS 是基于 Linux 的,这意味着在它上面运行 Linux 应用程序的确是可行的。

Chrome 团队决定创建一个虚拟机(或 VM)来运行 Debian(Linux 发行版)并将该虚拟机与 Chrome OS「主机」集成。虽然他们可以使用 QEMU 之类的现有虚拟机技术或 VirtualBox,他们认为从头开始创建专用工具更好,称为「crosvm」和「Termina」。

Chrome OS 上运行 Linux

使用虚拟机有很多原因,但最大的原因是安全性。直接访问 Chrome OS 的 Linux 内核将为恶意代码或甚至病毒创造更多机会。

对于 Android,谷歌通过 Play 商店控制应用生态系统,这通常意味着可以信任的应用。如果你想自行安装 Android 应用程序,你需要将你的设备置于开发者模式,这可以让你做出类似的潜在不安全的事情。

在 Linux 上,谷歌没有那种控制水平,没有办法限制只有受信任的应用程序。使用虚拟机解决了这个问题,就像你安装恶意应用程序一样,你可以简单地关闭虚拟机,擦除虚拟机并重新开始,而不会影响整个 Chrome OS。

将虚拟机与 Chrome OS 集成在一起,使 Linux 应用程序在 Chromebook上 感到「宾至如归」,并不是没有困难。例如,最近的大量工作已经用于创建 GPU 支持,以允许更加图形化的 Linux 应用程序(以及可能的游戏)。

了解一下 ARCVM

据官方说明,谷歌「没有计划」对 Chrome OS 上 Android 应用的现状做出任何改变。然而,深层次来看,Chromium 团队一直在努力使 Chrome OS 的 Android 应用程序支持更像他们的 Linux 应用程序支持。

从现有证据中,这项名为 ARCVM(简称 ARC 虚拟机)的工作似乎很有可能通过在同一个 Termina VM 上运行 Android 来充分利用 Crostini 项目所做的工作。通过迁移到虚拟机,Chrome OS 的 Android 支持将能够利用相同的安全功能,并且在出现任何问题时能够轻松重置。

将 Android 应用与 Chrome OS 完全隔离,可以无需进入开发者模式即可侧载 Android 应用。能够侧载应用程序一直是 Chrome OS 用户长期要求的功能,因为许多与 Chromebook「不兼容」的应用程序实际上在侧载时工作得很好。它还可以在 Chrome OS 上访问像 Aptoide 这样的第三方应用商店。

Chrome OS 上运行 Android Studio

除此之外,Android 应用开发者还可以在 Chromebook上 安装 Android Studio,开发他们的应用,并在设备上进行测试,而无需使用开发者模式。 鉴于谷歌近期通过 Chromebook 推动「安全开发」,这似乎是 ARCVM 努力背后最有可能的驱动力。

但是,与 Chromium 中发现的其他正在进行的项目一样,这个 ARCVM 项目可能完全被废弃,就像 Campfire 项目一样。 一旦制作完工作原型,他们就需要权衡利弊,看看增加的安全性和侧载应用的潜力是否超过了它可能对低端 Chromebook 的性能产生的影响。

ARCVM 的开发仍在进行中,并且它绝不是一个确认的项目,因此现在还无法确认何时才能在我们的 Chromebook上 见到它。我的个人猜测要么是今年晚些时候,可能是在 Chrome OS 上推出 Android Q 的时候。

FydeOS itNT 72 系列

可惜的是,Chromebook 目前无法在中国大陆无障碍使用。国内有一厂商正在打造中国版 Chrome OS —— FydeOS。现能兼容安卓运行环境及 Linux 虚拟机;携带有完整的用户账户体系、升级服务器、企业集管系统和应用商店。FydeOS 能适配绝大部分主流 x86 架构或 ARM 架构硬件设备,灵活性强。FydeOS 硬件设备 itNT 能提供媲美 Chromebook 的用户体验,是一款全新的中国版 Chromebook 平板设备。

chrome怎么运行Android程序,ARCVM:Chrome OS 中运行 Android 应用程序的新方式相关推荐

  1. eclipse中linux打包,Eclipse中Maven打包程序并在Linux中运行

    Eclipse中Maven打包程序并在Linux中运行 1 在Eclipse中新建Maven工程 新建后的maven工程如下: 新建Maven工程的默认pom.xml如下,不需要修改: 4.0.0 T ...

  2. 关于某些 Visual Studio Code 扩展程序无法在浏览器中运行的原因

    只有一部分扩展程序可以在浏览器中运行. 您可以使用"扩展"视图在 Web 中安装扩展,无法安装的扩展将显示警告图标和"了解原因"链接. 安装扩展程序时,它会保存 ...

  3. hive mysql windows_Java-从MySQL到Hive导入,其中MySQL在Windows上运行,而Hive在Cent OS上运行(Horton Sandbox)...

    在任何答案和评论之前.我尝试了在Stackoverflow中找到的几个选项,但均以失败告终.以下是这些链接- 我通过命令行在Horton Sandbox中进行了尝试并成功. sqoop import ...

  4. linux下c语言线程传参数,【linux】C语言多线程中运行线程池,在线程池中运行线程池,,传递的结构体参数值为空/NULL/0...

    C语言多线程中运行线程池,在线程池中运行线程池,,传递的结构体参数值为空/NULL/0 本贴问题,之前已经提问过一次,当时已经解决了,原贴在这里https://segmentfault.com/q/1 ...

  5. cmd中如何运行python文件_在cmd中运行.py文件: python的操作步骤

    在cmd中运行.py文件: python的操作步骤 1 打开cmd, 不改变运行的目录: 输入python 空格  调试好的python文件路径 或者python 空格  将python文件拖入cmd ...

  6. 程序在Unity编辑器中运行正常,发布后运行出现ArgumentNullException: Value cannot be null. Parameter name: shader问题解决方案

    最近在开发Unity程序,眼看程序在编辑器中运行没问题了,发布后出现值为空错误,网上找了很多资料,也排除了很多可能性,搞了半天,最后发现是发布时没有将用到的所有Scene添加到Scenes In Bu ...

  7. c语言程序如何在keil中运行,keil c51中C程序的启动过程

    汇编是从org 0000h开始启动,那么keil c51是如何启动main()函数的?keil c51有一个启动程序startup.a51,它总是和c程序一起编译和链接.下面看看它和main()函数是 ...

  8. 在vim中写python程序_在Vim中运行Python代码

    在Vim中运行Python代码 我正在使用Vim编写Python代码,每次我想运行我的代码时,我都会在Vim中输入: :w !python 这令人沮丧,所以我一直在寻找一种更快的方法来在Vim中运行P ...

  9. linux怎么运行脚本文件路径,关于linux中执行脚本或程序时指定的路径

    假设/mnt/bin 目录下存在一个名为 hello.sh 的可执行文件. 1. 若当前目录是 /mnt/bin ,可以使用 ./hello.sh 来执行这个可执行文件,但是使用 hello.sh 就 ...

最新文章

  1. 115天 起飞ing
  2. 科大星云诗社动态20210304
  3. table选项卡从A页面点击进入B页面指定版块
  4. DAZ studio 4.9基础
  5. java打印已经被加载的类_使用URLClassLoader加载类,不会报错,但被加载类中的内容也没有打印出来...
  6. 阿里云消息队列Kafka商业化:支持消息无缝迁移到云上
  7. 005 Aspectj的引入
  8. [实变函数]2.2 聚点 (cluster point), 内点 (interior point), 界点 (boundary point)
  9. Windows Server 2003 Enterprise Edition 下载与安装序列号
  10. Python实现PDF复制自动去除换行及空格
  11. UL -758_2022电器布线电线电缆安全标准,刚刚发行最新版
  12. 学习日志12:DoS技术及工具总结
  13. mysql存储包含单引号英文字符串,SQL中写入包含有英文单引号“ '' ”失败问题深入详解...
  14. GBase 8c开发接口
  15. acc 蓝牙_蓝牙耳机≠音质差,只是你没选对耳机
  16. loadrunner--浏览器不支持或禁止了网页脚本,导致您无法正常登录
  17. opencv、opencv_contrib及cuda联合编译详细教程
  18. 【第93期】谁是元宇宙的“基础设施”?
  19. 最接近win7的Linux系统,Windows7Vs.Linux——操作系统大PK
  20. 解决谷歌浏览器不显示翻译此页按钮(网页自动翻译)

热门文章

  1. Java 实现分段截取视频 生成gif图 使用ffmpeg操作
  2. 网络为什么要分层—程序如何工作
  3. P2P 之 UDP穿透NAT的原理与实现(附源代码)
  4. 打开ArcMap、ArcCatalog、ArcScene、ArcGlobe、ArcEngine出现All ArcGIS for Desktop Advanced licenses are in use
  5. WRF后处理/Python处理nc数据与可视化/极坐标网格绘制(Cartopy、netcdf4)——以北极雪水当量数据为例
  6. 教育技术(Educational technology)学习分析和教育数据挖掘领域的SCI、SSCI、CSSCI期刊与会议
  7. 微信小程序跳转详情页面
  8. java @around_正确理解Spring AOP中的Around advice
  9. JavaWeb-03
  10. Quartus固化程序到flash芯片