前言
之前手机一直用的PixelExperience系统,也为一加七编译了kernelsu,具体可以看一加7Pro为PixelExperience13系统编译kernelsu.
但前些时间官方宣布停更,而且PixelExperience有些应用存在风控问题,最近想换回lineageos。这篇文章没啥技术含量,只是记录下刷机过程。
温馨提示
如果想刷gapps,需要先退出机器上的谷歌账号,不然就会卡在开机设置界面转圈进不去。如果忘了退,解决方案下面说。
开始刷机
官方教程:https://wiki.lineageos.org/devices/guacamole/install/
准备工作
下载地址:https://download.lineageos.org/devices/guacamole/builds
先从上面的链接里下载最新的四个文件
刷入recovery
官方文档说,刷之前需要先降级或升级到Android 12。所以开始我想刷入twrp,然后在twrp里刷氧os,在刷lineageos。
实测发现twrp刷不进去,用fastboot flash boot twrp.img
,切换recovery还是进入了fastboot模式,搜索发现有人也有同样的问题(PixelExperience无法刷twrp)。
所以我直接刷lineageos提供的recovery,不打算降级了(实测可以)。文档关于解锁bl的部分就跳过了。
fastboot flash dtbo dtbo.img
fastboot flash vbmeta vbmeta.img
fastboot flash boot boot.img
然后就可以在fastboot里切换到recovery模式。
刷入系统
界面很简单,首先肯定是清除数据,先点击Factory reset
(注意提前备份手机数据),然后是Format data/factory reset
,它好像会清除存储数据和应用数据,请谨慎操作。
接着选Apply update
->Apply from ADB
,电脑执行adb devices
就会有一个sideload的选项。
刷入系统包: adb sideload .\lineage-21.0-20240527-nightly-guacamole-signed.zip
当进度走到47%时,手机显示需要重启(是否重启到recovery
)。选择重启就完成了刷机,不需要管电脑提示47%失败,其实已经刷成功了。
gapps
官方文档: https://wiki.lineageos.org/gapps/
下载地址:https://github.com/MindTheGapps/14.0.0-arm64/releases/tag/MindTheGapps-14.0.0-arm64-20240225_232108
这里有个提示,说是必须在进入系统前刷入gapps。如果已经进入系统,需要先恢复出厂设置,再进入recovery刷入,不然可能进不去系统。
刷入方法和之前一样,adb sideload MindTheGapps-14.0.0-arm64-20240225_232108.zip
,这里会提示签名验证失败,这个不管它选Yes就可以。温馨提示: 尽量不要刷不知来源的包,它们可以做到任何你意想不到的操作!
温馨提示
如果连接WIFI的那一步不能跳过,那恭喜你,你之前系统的谷歌账号没有退出。解决方法可以看:如何跳过Google开机设置/验证/向导
我验证有效的方法:
进入recovery,然后选Advanced
,再选Enable ADB
。然后在电脑上输入: adb shell dd if=/dev/zero of=/dev/block/bootdevice/by-name/frp
,然后在进入系统就会多出一个在离线状态下使用了。
当然如果是twrp,也可以在终端执行dd if=/dev/zero of=/dev/block/bootdevice/by-name/frp
,一样的意思。
kernelsu
本来想试下aptach,测试用apatch修补的boot刷入后一直卡在开机界面,还是用kernelsu了。
之前都是自己下载整个源码编译kernelsu,现在看来太麻烦。还是用github别人编译好的内核。
下载地址:https://github.com/snowwolf725/android_kernel_oneplus_sm8150/releases
LOS就是指lineageos,OOS是指氧os,所以这里下载OP7-LOS21-kernel-SU-11871.zip
刷入方法和之前一样,adb sideload OP7-LOS21-kernel-SU-11871.zip
。
kernelsu未生效
这里有个奇怪的问题,我没刷gapps的时候,kernelsu安装完管理器显示是生效的,当我重新来一遍多安装了一个gapps,kernelsu倒是不生效了。
测试了发现是管理器版本太低,所以得把内核的版本和管理器版本对应上。我的在github下载的最新管理器版本是v0.9.4(11838)
,下载对应版本的内核刷入就生效了.
官方管理器没更新,这个内核怎么更新的这么频繁。
问题
进系统后出现无法安装apk的请求,安装马上就会弹出应用未安装
,但是可以通过adb安装,不知道是不是跳过谷歌验证的问题。
找了下也没啥解决方案,没办法,只能按上面的步骤重新刷一遍,刷完就正常了。
推荐应用
顺便推荐几个我必装的APP,以下应用都不需要root权限。
GKD
这是个开源的跳广告软件,使用上比李跳跳好用。github地址: https://github.com/gkd-kit/gkd
(目前已经16.6K star)
订阅源:
https://github.com/AIsouler/GKD_subscription
https://github.com/aoguai/subscription
https://github.com/ganlinte/GKD-subscription
https://github.com/YaChengMu/subscription
https://github.com/gkd-sub-repo/
在一些国产系统上很容易掉后台和无障碍权限,需要关闭电池优化和开启后台自启动,我在lineageos上使用没什么问题。另外,我在另一个的鸿蒙系统上用也是正常。
Shelter
github地址: https://github.com/PeterCxy/Shelter
像lineageos这样的类原生系统都是没有国内系统的微信多开,所以需要借助一些软件多开。这个软件是利用安卓上的Work Profile
这个特性实现的多开。
另一个功能是将一些垃圾软件放到工作空间,不用的时候冻结了。
Shizuku
github地址:https://github.com/RikkaApps/Shizuku
开放API让应用可以使用ADB权限实现一些用户权限无法做到的功能,比如下面这个应用。
雹
github地址:https://github.com/aistra0528/Hail
跟冰箱一样,可以冻结/隐藏应用,只需要Shizuku
权限,当然也可以在设备所有者
、Dhizuku
、Root
环境下运行。