使用ChromeOS优雅安装第三方APK

使用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。
[post cid="5" cover="https://pic.skihome.xyz/2023/09/14/6503069937bd3.webp"/]

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

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

安装 ADB 调试工具:

sudo apt install adb

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

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

[scode type="yellow"]注:此选项不可逆。若需要关闭 ADB 调试,则需要进行 Powerwash。[/scode]

连接到 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 授权。

发送你的互动

在你的页面中添加 microformats2 标记后,在下方输入框中输入你页面的地址,点击“发送”。


什么是 Webmention?

Webmention 是一个开放的 Web 标准,允许网站之间互相通知。当你的文章引用了其他网站的文章时,你可以通过 Webmention 通知对方。

互动方式

根据你想进行的互动类型,你的页面需要包含对应的 microformats2 标记:

1. 点赞 (Like)
<div class="h-entry">
  <a class="u-like-of" href="/archives/16/?replyTo=25"></a>
  <a class="u-author h-card" href="你的网站地址">
    <img class="u-photo" src="你的头像URL" alt="你的名字">
  </a>
</div>
2. 转发 (Repost)
<div class="h-entry">
  <a class="u-repost-of" href="/archives/16/?replyTo=25"></a>
  <a class="u-author h-card" href="你的网站地址">
    <img class="u-photo" src="你的头像URL" alt="你的名字">
  </a>
</div>
3. 回复 (Reply)
<div class="h-entry">
  <a class="u-in-reply-to" href="/archives/16/?replyTo=25"></a>
  <p class="p-name">你的记录标题</p>
  <p class="e-content">你的回复内容</p>
  <a class="u-author h-card" href="你的网站地址">
    <img class="u-photo" src="你的头像URL" alt="你的名字">
    <span class="p-name">你的名字</span>
  </a>
</div>
评论
  1. ikuta
    ikuta
    2024-04-29 20:18 回复

    请问一下,更改默认安装程序的时候,候选项没有installerx,该怎么解决呢

    1. 2024-07-05 08:20 回复

      先使用Installer X打开一个安装包后再试

  2. Moexin
    Moexin
    2024-05-13 01:57 回复

    该方法适合Chrome OS Flex么?

    1. 2024-07-05 08:19 回复

      Chrome OS Flex没有原生的Android子系统

  3. 2024-11-30 15:30 回复

    chromeOS好像最近又要复活了?

  4. Yuncey
    Yuncey
    2025-04-18 23:43 回复

    请问一下,我的chromebook运行 adb devices命令,并没有弹出提示框,emulator-5554 offlline怎么办

提示:本地评论在提交后需经审核才会公开显示,感谢您的耐心与交流。