上次更新:2022-08-24

#前言

自 2016 年 Google 宣布将安卓运行环境加入 Chrome OS 起,安卓生态又多了一种全新的入口 - 适配大屏幕及键鼠操作的桌面环安卓程序。在过去的几年内,Google 对 Chrome OS 上的安卓环境做了不少改进以鼓励更多的厂商和开发者能参与其中。2018 年 5 月,由 Google 主导的 开源项目给 Chrome OS 加入了更接近原生 Linux 的使用体验,使在 Chrome OS 上完成日常的开发和调试工作成为可能。

在 2018 年的年度谷歌开发者大会(Google io)上,我们在「」的演讲里看到了搭载 Chrome OS 的 Google Pixelbook 实现了对类似 Android Studio 这样大型 Linux 程序的支持并且可以通过 adb 和机载的安卓环境直接调试编译出来的安卓程序,这对桌面安卓生态的推进有着里程碑式的作用。

是一款基于 Chromium OS 二次开发的桌面操作系统产品,对系统内原本强绑定的 Google 服务进行了解耦,并加入自主研发的模块和优化,适配更多硬件品类,使更多用户可以在中国大陆地区无障碍地使用。

本文之后的内容重点介绍如何在 FydeOS 中启用 Linux 子系统、安装并运行 Linux 程序并配合机载的安卓环境实现和在 Google io 上 Chrome OS + Pixelbook 展示的高效(不借助任何模拟器或虚拟机)调试安卓程序的功能。

#0. 硬件要求

  • 最低配置

    由于 Android Studio 等大型 IDE 程序对系统性能要求较高,所以我们推荐将 FydeOS 安装至优于入门级别的硬件设备上。

  • 不兼容情况

    • 目前 FydeOS(公测版)的安卓环境仅能兼容 Intel 系列的显卡
    • 由于 Project Crostini 的架构设计采用了虚拟机 + 容器的结构,故需要 CPU 有针对硬件虚拟化(VT-x)的支持。除了 BayTrail 家族之外,大部分中高端 Intel CPU 均携带有此功能。

#1. 准备工作

下载、烧写 FydeOS 并将其装入硬盘。FydeOS 官网和知识库有较为详尽的说明,这里不再赘述。

  • FydeOS 官方下载地址
  • 烧写 FydeOS 至移动存储设备并引导启动的说明
  • 若条件允许,你可以将 FydeOS 作为唯一系统安装进 PC 里,使其独占一整块硬盘;或者可以根据将 FydeOS 作为第二系统与其他系统共存。

#2. 开启安卓 ADB Debugging 设置

  • 在程序启动器内打开「安卓设置」

  • 选择「系统」 - 「开发者选项」 - 开启「ADB 调试」 alt text

  • 目前 FydeOS 并未携带 Google 服务框架及 Play Store 等由 Google 提供的应用市场。如需安装安卓应用程序,用户可以自行下载第三方安卓市场程序或者直接下载 .apk 文件安装之。已经安装成功的安卓应用程序会自动出现在「程序启动器」内。

#3. 启用 Linux 子系统

点击「设置」,并找到关于「Linux 子系统」的相关设置项,如下图: alt text

点击「启用」,在弹出的提示框上点击「安装」: alt text

根据你的硬件配置,首次安装并启用 Linux 子系统需要等待几分钟时间。待安装完毕后,会自动弹出「Terminal」的新程序。 alt text

可见,这是一个功能完整的 Debian 11 (bullseye)。相比起 FydeOS 自带的 Crosh Shell,这个 Terminal 拥有自己完整而独立的文件系统,我们可以在里面进行日常熟悉的 Linux 操作。FydeOS 已经将默认的 apt 软件源设置成国内阿里云的镜像,你亦可根据自己的喜好替换。你可以通过以下命令对该 Debian 进行更新并安装一些常用的工具:

sudo apt-get update && sudo apt-get upgrade
sudo apt-get dist-upgrade
sudo apt-get install wget unzip nano

FydeOS 已经将 Linux 子系统内的用户文件夹映射到系统自带文件管理器里,通过程序启动器内的「文件」程序,我们可以看到 FydeOS 已经添加了「Linux 文件」这个新的选项,并且和 Terminal 中的 home 文件夹是一致的: alt text

#4. 下载、运行 Android Studio 并安装附属工具

我们需要到官方网站 上下载适配 ChromeOS 的 Android Studio: alt text

这里可以通过浏览器直接下载 deb 包,下载完成后在「文件」程序中双击,点击安装。

安装完成后 Android Studio 图形界面随即启动,体验上与在其他 Linux 发行版上并无明显差距。此时需根据屏幕提示对 Android Studio 进行初始化设置,并且下载所需要的 SDK 和附属工具集。

#5. 在 Linux 环境中连接 ADB 目标

我们需要让 FydeOS 的安卓子系统与 Android Studio 建立 ADB 连接。

具体做法是,在 Android Studio 运行的时候,右键点击任务栏的「Terminal」图标,选择「打开新的窗口」。在新的 Terminal 会话中运行以下命令:

sudo apt install adb
adb connect 100.115.92.2:5555

此时,安卓子系统会收到相应的 ADB 连接请求,并弹出确认窗口,你需要点击「确定」同意该连接请求: alt text

#6. 在 Android Studio 编译并调试安卓程序

完成以上步骤之后,Android Studio 会自动添加一个可用来调试的「Connected devices」。我们只需要像往常一样 checkout 一个可编译的安卓程序项目,完成 Sync 和 Build 之后,点击「Run」,在弹出的「Connected devices」对话框中选择之前通过 ADB 连接的安卓子系统,即可实现实时调试: alt text

你也可以通过终端使用下列 ADB 命令来安装安卓应用:

adb install [path to your APK]

#7. 通过网络连接 ADB

  • 确保 ADB debugging 选项处于开启状态。
  • 获取设备的 IP 地址:
    • 点击桌面右下角的时钟模块。
    • 展开网络列表。
    • 点击网络信息查看当前 IP 地址。
  • 连接到你的 FydeOS 设备:
    返回到您的开发机器,并使用 ADB 连接到您的 FydeOS 设备:
    adb connect <ip_address>
    
    在 FydeOS 设备上同意授权,就可以使用 ADB 远程调试啦~

#8. 常见问题及去哪里寻求帮助

Q: 我的「Connected devices」里面为空怎么办?

A: 可在一个新的 Terminal 会话中停止 ADB 并重新连接:

adb kill-server
adb connect 100.115.92.2:5555

Q: 我的 Android Studio 闪退了怎么办?

A: 可以关注一下在「Linux 文件」下生成的 java_error_in_STUDIO_xxxx.log 日志文件,多数情况下是因为内存不足造成的。

更多关于 FydeOS 及 Linux 子系统的使用技巧,请参阅

如还有更具体的技术问题,可以到 发帖求助。

#8. 参考文献