使用ChromeOS优雅安装第三方APK

写在开头

然 ChromeOS 提供了一些官方的应用商店,但这些商店的应用数量有限,而且可能无法满足用户的所有需求。因此,许多用户希望能够在 ChromeOS 上安装第三方 APK。

本文将介绍一种使用 ChromeOS 开发者模式和 shizuku 来优雅安装第三方 APK 的方法。这种方法可以让用户在不破坏 ChromeOS 安全性(即不开启开发者模式)的前提下,安装任何第三方 APK。

本文的解决方案包括以下步骤:

  1. 启用 Linux 开发环境与 ADB 调试
  2. 安装 Shizuku 与第三方安装器
  3. 使用 Termux 自动化授权

启用 Linux 开发环境与 ADB 调试

由于本机的有线ADB调试模式仅可使用本机相关虚拟容器调用,同时 Linux 开发环境选项中也有我们必要的 ADB 调试选项,因此必须开启 Linux 开发环境。
Linux 开发环境的启用非常简单,具体可以参见我的上一篇文章:打造一台适合生产的Chromebook。

  1. 在 Chromebook 上,选择右下角的时间。
  2. 依次选择“设置”图标 > 高级 > 开发者
  3. 在“Linux 开发环境”旁边,选择开启
  4. 按照屏幕上的说明操作。整个设置过程可能需要花费 10 分钟或更长的时间。
  5. 系统会打开终端窗口。

至此,Linux 开发环境已经正常安装在了 ChromeOS 上,终端程序将会自动打开,类似这样:
终端

安装 ADB 调试工具:

sudo apt install adb

安装后,输入adb即可使用 adb 工具。
adb

开启 ADB 调试:
在系统的设置 > 开发者 > Linux 开发环境 > 开发 Android 应用 选项中,开启 "启用 ADB 调试"选项。
启用 ADB 调试

注:此选项不可逆。若需要关闭 ADB 调试,则需要进行 Powerwash。

连接到 Android 环境:

使用 adb devices命令,连接到 Android 环境。此时,系统会弹出提示框,询问是否允许此计算机进行调试,选择一律允许即可。

现在,adb 列表中应该存在一个名为 'emulator-xxx' 的设备,并且状态为 'device'。
连接成功


安装 Shizuku 与第三方安装器

Shizuku Github 项目地址:Github Release
通过使用 Shizuku,可以让我们直接使用系统API。

在 Shizuku 的 Github 项目地址中,下载最新的安装包。
shizuku-github

下载完成后,将其拷贝至 'Linux 文件' 目录下,这样我们可以使用 Linux 的 ADB 工具安装。

在终端中,使用 install 命令直接安装该 apk 。应注意 apk 的目录是否正确,以及 adb 工具是否已经连接到本机 Android 环境。

adb install shizuku.apk

安装成功后,我们需要继续使用 ADB 工具对 Shizuku 进行授权:

adb shell sh /storage/emulated/0/Android/data/moe.shizuku.privileged.api/start.sh

授权后,打开 Shizuku,界面应该如下:

Shizuku主界面

可以看到,现在 Shizuku 已经被授予了权限,显示 "Shizuku 正在运行"的结果。

现在,我们再通过 ADB 工具安装任意第三方安装器,并进行授权,即可完成通过 Android 自行安装任意第三方 APK。这里,我使用的是 InstallerX,也可以选择 R-安装组件等支持 Shizuku API 的第三方安装器。

InstallerX Github 地址:Github Release
类似上面的步骤安装即可。

打开 InstallerX,并进行 Shizuku 授权。
授权

接着,打开"文件"应用,选中任意 APK,并点击上面的"打开"按钮,更改默认应用程序:
更改默认应用程序
设置为InstallerX

至此,我们就可以通过 Android 环境直接安装第三方APK了。
安装界面


使用 Termux 自动化授权

由于 Shizuku 依赖于 ADB 授权,但每次重启后 Shizuku 都需要重新授权,这就导致每次开机都不得不启用 Linux 环境并执行指令进行授权,这不符合我们的理想需求,因此我们可以使用 Android 环境下的 Termux 进行自行授权。

安装 Termux:

虽然 Termux 可以通过 Google Play 获取,但 Google Play 版的 Termux 已经停止更新,官方推荐在 Github 或 F-Droid 进行下载。
Termux:F-Droid
Termux: Boot:F-Droid

将上述两个程序安装后,打开 Termux 。

安装 ADB 工具:
使用 apt 直接安装 android-tools。

apt install android-tools

安装后,可以使用 adb devices来让 Android 对于该 Termux 中的 ADB 工具进行授权。
授权后,应和 Linux 环境一样显示 'emulator-xxx' 的设备,并且状态为 'device'。

设置启动自动授权:
在默认目录下,新建并进入目录:

mkdir -p .termux/boot
cd .termux/boot

使用编辑工具,新建一个自启动脚本:

vim auto-shizuku.sh

脚本内容如下:

adb devices
adb devices

adb shell sh /storage/emulated/0/Android/data/moe.shizuku.privileged.api/start.sh

编辑好脚本内容并保存后,下次开机 Termux 将自动运行,并进行 Shizuku 授权。

最后修改:2023 年 10 月 23 日
赞助一杯冰阔落