本文也同时发布在了咱的 Matters 上: 链接在这里。
其实应该先发在咱自己的博客上的,但是发现装有咱 GitLab 私钥的笔记本已经让咱快递寄到家里去了……
其实几乎是个不可能的任务
因为 Android 自己就不怎么干净(?),哪怕是开放源代码的 Android Open Source Project,也有不少私有成分(例如 Linux 内核里到处乱飞(?)的厂商 Blob (一堆没有源代码只有二进制文件的部份,通常是固件和微码什么的))。
真正算得上完全自由的 Android 发行版大概只有 Replicant 了,虽然到现在只支持到 Android 6.0 ,支持的设备也有限(最新的大概也只是 Galaxy S3/ Note 2那个时期的),已经有构建的设备的支持也很是问题(不少缺 WiFi 固件于是不能用 WiFi,图形性能也很糟糕……)。只能说任重而道远啊……
于是只能妥协一般的退而求其次,选一个差不多的系统就好了……
所以咱用手机都干些什么?
大概就这么几样()
- 电话和短信
- 拍照(基本上都是乱拍,或者是游戏的成绩图)
- 聊天(Telegram 居多,偶尔也用用 IRC 和 XMPP)
- 读电子书(?)和邮件(??)
- 听音乐和视频(视频还可以听的?)
- 上各种网站(例如 Twitter、Mastodon、Matters 等等……)
- ……
试验环境(?)
就是咱要用哪一只手机来这么<s>瞎折腾</s>啦,介于各种原因以至于一定要把预装的系统换掉的缘故,可以方便的解锁和刷机的手机应该是不错的选择。咱就用咱手边的一加3了……
当然要是买了 Librem 5 或者 PinePhone 的话,当咱没说…… 汝应该比咱更清楚该怎么做。
另外,这不是给完全没有 Android 手机使用经验的家伙们准备的指南。里面会有不少假定,例如汝已经了解了一些基本概念,学会了怎么给手机解锁等等。如果遇到不懂的名词或操作啥的,就像之前一样先上网搜索一下咯~
准备工作 - 解锁,Recovery 和系统
首先就是解锁啦,现在的手机基本上都会要求汝先在开发者选项中打开 OEM 解锁这个选项。
(别说汝不知道怎么打开开发者选项)
然后通过组合键或者 adb 命令把手机启动到 bootloader 模式,依手机的不同要进行的操作也不同。
像 Pixel 和 OnePlus 这样的手机基本上在进入 bootloader 模式之后就可以通过 <code>fastboot flashing unlock</code> 这样的命令解锁啦,当然汝还需要在手机上确认一下。
还有不少品牌会要求汝先在他们的网站上申请一串解锁代码,然后将这串解锁代码通过某种方式发送到手机上。遇到这种方法的厂商的手机的话建议参考厂商的指南。
以及解锁一定会要求清空所有数据恢复出场设定,如果汝不是用的一只新手机的话,记得备份一下原有的数据。
解锁后的手机都会多出一些提示来表示这只手机已经解锁了,例如启动前的提示或者某些功能缺失什么的(……)
接下来就是替换掉原厂的 Recovery 啦,因为原厂的 Recovery 一般只会接受原厂自己的升级/刷机包。比较流行的第三方 Recovery 就是 TWRP(Team Win Recovery Project) 啦,可以上他们的网站获得支持的设备列表,下载到合适的文件,以及了解不同手机的刷写方法。
至于系统嘛,咱选的是 CyanogenMod 的精神续作 LineageOS 。这里有官方支持的设备列表 (要进入官方支持的列表的要求还是挺高的,汝也可以上和汝手机相关的论坛等场所(最著名的非 xda-developers 莫属)看看有没有同好做过非官方适配),汝也可以选择汝喜欢的系统(只要有人进行适配的话,或者汝可以自己来)。
有经验的玩家应该听说过 Xposed 和 Magisk ,它们都是在一定程度上对系统模块进行修改或者加强的方案。它们本身也都是自由的(虽然它们之上的模块不一定),有需要的话也可以考虑装上。
商店 - F-Droid
虽然 Android 不一定需要一个应用商店来安装应用(汝总是可以直接下载 APK 来安装,或者通过 adb 安装应用,是呗),不过可以考虑安装一个 F-Droid,这里面只有自由软件。
F-Droid 有一个可选的特权扩展,可以让 F-Droid 通过系统权限安装和更新应用(如果只使用系统权限安装或更新应用的话,设置中的“允许未知来源”选项是可以关闭的,一定程度可以提高安全性。)可以下载 OTA 包通过 Recovery 安装 ,或者通过 NanoDroid 或 Magisk 仓库的一个模块 来安装。
然而虽然应用是自由的,但是它依赖的服务和扩展等等不是自由的情况也时有发生(例如 Telegram 的官方客户端有私有组建,服务端还是私有的)。这种应用在 F-Droid 里被称作“anti-feature”(叫什么好呢,“反功能”还是“负特性”?),默认情况下不会在列表里显示。汝可以在设置中的应用兼容性选项中打开“显示需要 anti-feature 的应用”选项来显示那些包含 anti-feature 的程序。
(例如 Telegram 的 anti-feature 列表, F-Droid 有一页收集了各种 anti-feature 和具有它们的应用列表: https://f-droid.org/wiki/page/AntiFeatures )
各种应用的(部份)自由替代品
自由路漫漫
既然选择了这条路,就一定会付出一些代价,例如 Google 服务几乎全都没法用了什么的(虽然有自由的客户端实现 microG 在努力解决这个问题)。以及汝自己忙活了那么久发现身边的朋友完全不在意甚至报以狐疑的目光什么的……
相关阅读(?)
写到最后突然想起咱之前写过一篇 离开 Google 的 Android 之路 ,虽然那个主要是写 Android 去 Google 化的,也拉过来当作参考吧……
去 Google 化?某强国不是已经完成了嘛?(咋不说跳进了更大的坑呢……)
LetITFly BBS 限定(?)