一加七Pro刷lineageos21(kernelsu+gapps)

Python成长路發表於2024-05-30

前言

之前手機一直用的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許可權,當然也可以在裝置所有者DhizukuRoot環境下執行。

本文由部落格一文多發平臺 OpenWrite 釋出!

相關文章