Pixel5をAndroid12にアップデートする際に、従来の方法でroot化できなかったのでメモ
環境
- Pixel5 グローバル版
- bootloader unlock済み
- root化済み
- Android11
- 純正rom
- 純正リカバリー
問題点
Android12で従来の方法でrootが取れない理由はAndroid12で搭載された新機能のVerified Boot 2.0でdm-verityとvbmetaの仕様変更があり、その機能を無効化しなければMagiskでパッチしたブートイメージでは端末が起動しないのが原因です
rootを取るまでの注意点
Android11からAndroid12に上げるためにはデータのフルワイプ(初期化)が必須となります(恐らく)
そのためアップデートする前にSwift Backup等でフルバックアップを取っておく事をおすすめします
1. アップデート
Android Flash Toolにアクセスします
Back to Publicを選択します
Defaultを選択します
✏を選択します
上記のように設定してInstall buildを選択して下さい この作業を行うと初期化されるので注意!
追記: Android12からAndroid12へのアップデートの場合Wipe Device,Force Flash all Partitionsは不要です そのため初期化しなくてもアップデートする事が可能です
2. Magiskでパッチしたブートイメージを焼く
Canary対応MagiskManagerをこちらからダウンロードし、インストールします
Magiskの更新チャンネルをCanaryに変更し、アップデートを行います
その後boot.imgをパッチしてこちらのページの6. パッチ後のboot.imgを書き換えるを参考にboot.imgを書き換えて下さい
3. root化出来ているか確認
アップデート、root化出来ているか確認します
関係ないけど上のアプリもうGoogle Playになくて最悪 使いやすかったのに
4. SafetyNetを通す、LSposedを入れる(オプション)
このままではSafetyNetが通らないためモジュールを追加する必要があります
モジュールを入れる前に必要なZygiskを有効化し再起動します
root検知回避はMagisk HideではなくEnforce DenylistをオンにしてConfigure DenyListにてアプリを選択する形式になったみたいです
こちらからUniversal SafetyNet FixをダウンロードしMagiskでインストールします
SafetyNetが通ることを確認します
次にLSposedのインストールについて説明します
LSposedは現在Riru版のみ正式公開されておりZygisk版はこちらからダウンロード出来ます(要Githubアカウント)
LSposedはAndroid11ではアプリにXposedモジュールを適用しつつroot隠しが出来たのですがZygiskは出来ないかもしれません(要検証)
以上となります お疲れ様でした