尽管如今许多任务可以通过网页浏览器完成,但有些工作仍然需要安装不支持Chrome OS的应用程序。因此,Google允许用户在Chromebook上安装Linux应用程序。虽然在Android设备上也可以运行部分Linux应用,但这些方法都有局限性,并且Google并不官方支持。不过,Google现在终于在开发一种正式的方法,让用户在Android上运行Linux应用程序。
几周前,Google的工程师开始为Android开发一个新的终端应用程序。这个终端应用是Android虚拟化框架(AVF)的一部分,包含了一个WebView,可以通过本地IP地址连接到Linux虚拟机,从而允许用户在Android主机上运行Linux命令。起初,用户需要通过shell命令手动启用这个终端应用,并自行配置Linux虚拟机。然而,最近Google开始致力于将终端应用集成到Android系统中,并将其打造成一个能够在虚拟机中运行Linux发行版的一体化应用。
最近,一组名为“ferrochrome-dev-option”的补丁被提交到AOSP,这些补丁为开发者选项添加了一个新的“Linux终端”选项,路径为设置 > 系统 > 开发者选项。根据提议的描述,开启此选项后可以启用AVF捆绑的终端应用,允许其在虚拟机中运行。目前,Android的终端应用仍然需要用户手动配置Linux虚拟机,包括提供Debian镜像并创建vm_config.json文件,但Google计划在未来将这些步骤自动化。在补丁中,Google提到现有的“LinuxInstaller”应用程序(用于下载并配置Debian在AVF虚拟机中运行)将很快被“合并到终端应用中”。这意味着终端应用未来将成为一个完整的应用,能够下载、配置、运行并与Debian虚拟机实例进行交互。
Google仍在改进终端应用和AVF功能,准备在未来发布此功能。目前AVF已经支持图形和一些输入选项,未来还计划加入备份和恢复快照、嵌套虚拟化、以及x86_64架构设备的支持。此外,Google还准备为终端应用添加一些设置页面,当前版本仅有一个简单的菜单可以复制IP地址和停止现有的虚拟机实例。新设置页面将允许用户调整磁盘大小、配置端口转发,并可能恢复分区。
有趣的是,这些设置补丁在“tangorpro”和“komodo”上进行了测试,分别是Pixel Tablet和Pixel 9 Pro XL的代号。这表明终端应用不仅限于Chromebook,还可能出现在Android设备上,比如最新桌面版的Chrome for Android。虽然终端应用的发布时间尚不明确,但有可能会随明年的Android 16更新一起推出。
以下是匿名开发者展示的早期版本,展示了终端应用的运行方式。当前版本缺乏一些我们期待的自动化功能,因此你会看到使用LinuxInstaller来完成初期设置工作。
如果你不明白为什么要在Android上运行Linux应用程序,这个功能可能并不适合你。Google在Chrome OS中增加了Linux支持,主要是为了开发者可以在Chromebook上运行有用的开发工具。例如,Chrome OS上的Linux支持让开发者可以运行Linux版的Android Studio(Android开发的推荐IDE),并且可以在容器中安全运行Linux命令行工具。
大多数Chromebook都采用x86架构的处理器,而大多数Android设备使用ARM架构,这意味着许多在Chromebook上可运行的Linux应用程序(如Android Studio)在大多数Android设备上可能无法正常工作。即便如此,增加对Linux应用的支持将极大提高Android对开发者的实用性,并使其未来更具桌面级平台的潜力,特别是随着越来越多的应用程序支持ARM架构。此外,随着Chrome OS越来越像Android,采用了越来越多的Android架构和框架,支持Linux应用程序对Google来说是必要的。