0x1.刷入系統
強烈推薦使用 android8 的系統的,android10 的因為安全等級增加了問題比較多。
0x2.下載對應文件
https://dl.google.com/dl/android/aosp/sailfish-opm4.171019.021.p1-factory-0bcf4315.zip
下載完成之后解壓文件得到文件夾sailfish-opm4.171019.021.p1。
0x3.手機進入 fastboot 模式
關機后按住手機的電源鍵和音量-鍵,進入 fastboot 模式。如果此時你手機的 adb 命令可以使用,使用下面的命令
adb reboot bootloader
此時手機進入 fastboot 模式,一個安卓小機器的界面,什么也不用點等着就行了。
之后將剛才下載的系統刷入
0x4.刷入系統
剛才下載的文件解壓之后的文件名為 sailfish-opm4.171019.021.p1。我們通過進入該目錄,運行 flash-all.sh開始刷機。
這個過程比較長,請確保手機電充足,另外刷機過程手機會重啟幾次,這個不用擔心等着就行了。
cd sailfish-opm4.171019.021.p1
./flash-all.sh
大概過程是這樣

直到看到下面的信息證明我們刷機成功了。

同時手機也會重啟進入新的系統。
至此刷機就完成了,下面我們進行 root 操作。
這里重點說下,新刷的系統沒有開啟開發者模式的,沒法直接進行 adb 命令,我們找到關於手機然后點擊幾次版本號,就可以開啟開發者模式了,之后進入開發者模式打開 usb 調試即可。
0x5.安裝magisk
首先下載 magisk,它項目路徑在這
https://github.com/topjohnwu/Magisk/releases。
目前最新的版本是 Magisk v25.2, 但是因為最新的沒有模塊搜索功能了,所以我選擇了老的版本 Magisk-v22.1.apk。
我們先把這個 apk 安裝到手機上。
0x6.將 boot.img 傳送到手機
這里主要說下 boot.img 的路徑,很多朋友可能找不到。在第 0x4 步的時候,我們解壓了一個文件夾 sailfish-opm4.171019.021.p1。仔細觀察該文件夾里面還有一個 zip 文件,
我們解壓這個 zip 文件(image-sailfish-opm4.171019.021.p1.zip),就可以看到boot.img 了.之后將 boot.img 文件傳送到手機
adb push /Users/chennan/Downloads/android8/sailfish-opm4.171019.021.p1/image-sailfish-opm4.171019.021.p1/boot.img /storage/emulated/0/Download
電腦的路徑改為你的。
0x5.修補一個文件
我們打開 magisk,然后點擊安裝

之后勾選選擇並修補一個文件

我們找到剛才傳入到手機的 boot.img
它就是下載這個文件夾里

選擇之后點擊開始,這時候修補工作就開始了。

最后我們看到了它成功修補之后的路徑,我們把它導入到電腦后面再去使用。
文件名太長我就把這個目錄的都導出來了,這時候你發現boot.img也一起導過來了,可以刪了boot.img。
adb pull /storage/emulated/0/Download/. .
0x6. 刷入剛才的修補文件
確保手機打開usb調試,數據線連接沒問題執行命令
adb reboot bootloader
手機重啟后執行命令
fastboot flash boot magisk_patched.img

然后重啟手機
fastboot reboot
0x7.測試是否 root 成功
重啟手機之后進入命令行測試下是否root成功
adb shell
su
你會發現命令行不懂了,別着急這時候看手機 ,一小段時間如果沒有問題,手機上會彈出這個框,我們點擊永久

同樣的這時候可以看到命令行里面的su生效了。

至此我們的root也完成了。
LSPosed安裝
注意安裝LSPosed需要將magisk進行升級到最新版,我這目前是25.2,如果不安裝就不用管了。
之后去github分別下載riru和lsposed的riru版本。(因為我的android8系統不支持zygisk所以安裝riru版的)
首先下載riru,我下載的最版本26.17,文件名為:riru-v26.1.7.r530.ab3086ec9f-release.zip地址是https://github.com/RikkaApps/Riru/releases
LSPosed下載1.8.4就行。文件名LSPosed-v1.8.4-6609-riru-release.zip,地址是https://github.com/LSPosed/LSPosed/releases
之后把這兩個文件傳入到手機,然后打開magsik的模塊部分點擊從本地安裝就可以了。
其他可能用得到的操作
0x1.twrip相關
目前 twrip,主要解決上面無操作導致命令行進入不了,或者使用su的問題,目前我使用twrp主要是給shell提權的。
這部分內容作為輔助吧
地址在這里https://dl.twrp.me/sailfish/
下載下面兩個文件
twrp-pixel-installer-sailfish-3.3.0-0.zip
twrp-3.3.0-0-sailfish.img
將zip結尾的文件push到手機
adb push /yourpath/twrp-pixel-installer-sailfish-3.3.0-0.zip /sdcard
push完成后,再次讓手機進入到fastboot模式
adb reboot bootloader
之后使用下面的命令開始刷入twrp
fastboot boot twrp-3.3.0-0-sailfish.img
另外如果在使用twrip過程出現了文件夾是亂碼,解決辦法就是去掉手機的pin密碼和指紋密碼。
2.安卓手機禁止自動更新
pm disable com.google.android.gms/.update.SystemUpdateActivity
pm disable com.google.android.gms/.update.SystemUpdateService
pm disable com.google.android.gms/.update.SystemUpdateService$ActiveReceiver
pm disable com.google.android.gms/.update.SystemUpdateService$Receiver
pm disable com.google.android.gms/.update.SystemUpdateService$SecretCodeReceiver
pm disable com.google.android.gsf/.update.SystemUpdateActivity
pm disable com.google.android.gsf/.update.SystemUpdatePanoActivity
pm disable com.google.android.gsf/.update.SystemUpdateService
pm disable com.google.android.gsf/.update.SystemUpdateService$Receiver
pm disable com.google.android.gsf/.update.SystemUpdateService$SecretCodeReceiver
3.開機后wifi有感嘆號, 時間無法同步解決辦法
在手機的shell里以root用戶執行:
settings put global captive_portal_http_url https://www.google.cn/generate_204
settings put global captive_portal_https_url https://www.google.cn/generate_204
settings put global ntp_server 1.hk.pool.ntp.org
reboot
后續只要把時區調對,時間會自動同步的。
