前言
自 2016 年 Google 宣布将安卓运行环境加入 Chrome OS 起,安卓生态又多了一种全新的入口 - 适配大屏幕及键鼠操作的桌面环安卓程序。在过去的 2 年内,Google 对 Chrome OS 上的安卓环境做了不少改进以鼓励更多的厂商和开发者能参与其中。今年 5 月,由 Google 主导的 Project Crostini 开源项目给 Chrome OS 加入了更接近原生 Linux 的使用体验,使在 Chrome OS 上完成日常的开发和调试工作成为可能。
在今年的年度谷歌开发者大会(Google io)上,我们在「What's new in Android apps for Chrome OS」的演讲里看到了搭载 Chrome OS 的 Google Pixelbook 实现了对类似 Android Studio 这样大型 Linux 程序的支持并且可以通过 adb 和机载的安卓环境直接调试编译出来的安卓程序,这对桌面安卓生态的推进有着里程碑式的作用。
FydeOS 是一款基于 Chromium OS 二次开发的桌面操作系统产品,对系统内原本强绑定的 Google 服务进行了解耦,并加入自主研发的模块和优化,适配更多硬件品类,使更多用户可以在中国大陆地区无障碍地使用。
本文之后的内容重点介绍如何在 FydeOS 中启用 Linux(测试版)、安装并运行 Linux 程序并配合机载的安卓环境实现和在 Google io 上 Chrome OS + Pixelbook 展示的高效(不借助任何模拟器或虚拟机)调试安卓程序的功能。
0. 硬件要求
-
最低配置
由于 Android Studio 等大型 IDE 程序对系统性能要求较高,所以我们推荐将 FydeOS 安装至优于入门级别的硬件设备上。以下为我们测试用的 PC 配置,仅供参考:
- Intel Ivy-Bridge i5-3427U 1.8GHz
- 4GB RAM (偶尔会出现内存不足的状况,故建议 8GB RAM)
- 集成 Intel HD Graphics 4000
- 128GB SSD
-
不兼容情况
- 目前 FydeOS(公测版)的安卓环境仅能兼容 Intel 系列的显卡
- 由于 Project Crostini 的架构设计采用了虚拟机 + 容器的结构,故需要 CPU 有针对硬件虚拟化(VT-x)的支持。除了 BayTrail 家族之外,大部分中高端 Intel CPU 均携带有此功能。
1. 准备工作
下载、烧写 FydeOS 并将其装入硬盘。FydeOS 官网和知识库有较为详尽的说明,这里不再赘述。
- FydeOS 官方下载地址在此,亦可在中文社区内获取国内网盘镜像。
- 烧写 FydeOS 至移动存储设备并引导启动的说明在此。
- 若条件允许,可以根据此教程将 FydeOS 作为唯一系统安装进 PC 里,使其独占一整块硬盘;或者可以根据此教程将 FydeOS 作为第二系统与其它系统共存。
2. 启用 Linux(测试版)
点击「设置」,并找到关于「Linux(测试版)」的相关设置项,如下图:
点击「启用」,在弹出的提示框上点击「安装」:
根据您的硬件配置,首次安装并启用 Linux(测试版)需要等待几分钟时间。待安装完毕后,FydeOS 会在应用程序启动器内(点击屏幕左下角⭕️进入)添加一个叫「Terminal」的新程序,点击图标即可启动:
可见,这是一个功能完整的 Debian 9 (Stretch)。相比起 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 文件夹是一致的:
3. 下载、运行 Android Studio 并安装附属工具
我们需要到官方网站 developer.android.com 上下载适配 Linux 的 Android Studio:
这里可以通过浏览器直接下载 zip 包,完成后在「文件」程序内将其复制到「Linux 文件」内;亦可复制下载链接直接在 Terminal 内用命令行下载:
wget https://dl.google.com/dl/android/studio/ide-zips/3.1.4.0/android-studio-ide-173.4907809-linux.zip
完成后,我们需要解压缩该 zip 包并运行启动脚本即可启用 Android Studio:
cd /path/to/your/download/dir
unzip android-studio-ide-173.4907809-linux.zip
./android-studio/bin/studio.sh
可见 Android Studio 图形界面随即启动,体验上与在其它 Linux 发行版上并无明显差距。此时需根据屏幕提示对 Android Studio 进行初始化设置,并且下载所需要的 SDK 和附属工具集。
4. 启用 FydeOS 的安卓环境
在 FydeOS 运行几分钟之后,系统会自动从 FydeOS 的服务器上拉取最新版本的系统所需组件,这其中就包括「FydeOS 安卓设置」。欲激活并启用 FydeOS 的安卓运行环境,需在「程序启动器」内运行「FydeOS 安卓设置」,同意相关使用协议,随即 FydeOS 的安卓子系统「设置」程序便启动了。
目前 FydeOS 并未携带 Google 服务框架及 Play Store 等由 Google 提供的应用市场。如需安装安卓应用程序,用户可以自行下载第三方安卓市场程序或者直接下载 .apk 文件安装之。已经安装成功的安卓应用程序会自动出现在「程序启动器」内。
为了开发调试的需要,我们需要启动 FydeOS 安卓子系统的「adb调试」功能。具体做法是,点击「FydeOS 安卓设置」开启安卓子系统的「设置」 - 「关于设备」 - 连续点击「版本号」7 次 - 退回上一级菜单并选择「开发者选项」 - 开启「ADB 调试」:
5. 在 Linux 环境中连接 ABD 目标
我们需要让 FydeOS 的安卓子系统与 Android Studio 建立 ADB 连接。
具体做法是,在 Android Studio 运行的时候,右键点击任务栏的「Terminal」图标,选择「打开新的窗口」。在新的 Terminal 会话中运行以下命令:
sudo apt-get install adb
adb connect 100.115.92.2:5555
此时,安卓子系统会收到相应的 ADB 连接请求,并弹出确认窗口,您需要点击「确定」同意该连接请求:
6. 在 Android Studio 编译并调试安卓程序
完成以上步骤之后,Android Studio 会自动添加一个可用来调试的「Connected devices」。我们只需要像往常一样 checkout 一个可编译的安卓程序项目,完成 Sync 和 Build 之后,点击「Run」,在弹出的「Connected devices」对话框中选择之前通过 ADB 连接的安卓子系统,即可实现实时调试:
7. 常见问题及去哪里寻求帮助
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(测试版)的使用技巧,请参阅 FydeOS 知识库。
如还有更具体的技术问题,可以到 FydeOS 中文社区 发帖求助。
8. 参考文献
https://chromium.googlesource.com/chromiumos/docs/+/master/containers_and_vms.md
https://developer.android.com/topic/arc/studio