Androidスマートフォンでは、bootloaderをアンロックしてroot奪取すると、OTAによるストック ROM の 更新 機能は使えないことが通例です。手動ダウンロードして 更新 すれば良いのですが、リカバリまでストックに戻ってしまったり、機種に依っては再rootが必要になることも。そんな折、XDA Developers内の ASUS Zenfone7 向け TWRP のスレッドのFAQで、開発者さま自ら Magisk を使い TWRP やrootedを維持したままストック ROM を 更新 する手順を記載しているのを見掛けたので、早速試してみました。
必要要件
1.更新したいフル版のストックROM
ASUSのZenfone7サポートサイトより、更新したいストックROMをダウンロードしておきます。2021年5月執筆時点では、Android 11ベースのVersion WW-30.41.69.51が最新なのですが、
未だ少し不安なので無難にAndroid 10系列で最新のVersion WW-29.14.53.23を使うことにします(尚、更新前のROMは、Version WW-29.14.53.5)。
2.TWRPカスタムリカバリ
既にインストール済ですが、作業前に公式サイトをチェックしてみると、新しいバージョンが出ているようなので、最後に更新します。
3.Magisk アプリ
リリースノートによるとMagisk v22より、Magisk Managerは単にMagiskアプリと称されるようになったようで、Installation GuideにもMagiskモジュールのアップデートは、原則このアプリから行なうことが推奨されています(初回のみカスタムリカバリからインストール)。
そして、古いバージョンからこのv22へアップデートする際は、作業前にMagisk Hideを必ず元に戻すように、と記されているので注意が必要です。私がその記述に気づいたのは、アップデートした後のことでした。それでもroot奪取など基本的な部分に問題は有りませんが、以前は通っていたはずのSafetyNetのチェックが通らなくなっていました(これについては最後述)。
更新手順
ダウンロードしたROMファイルをデバイスの内部ストレージ直下に置いて再起動。再起動後にシステムがそのROMファイルを検出し、更新を促されるのでそのまま更新開始。ここまでは以前まとめた記事と同じ要領です。およそ10分程度で完了すると再起動を促されますが、再起動前に次のステップで作業を進めます。
1.Magisk アプリに「TWRP A/B Retention Script」モジュールをインストール
Magiskアプリの「モジュール」項を開いて、未インストールより、「TWRP A/B Retantion Script」モジュールを選んでインストールします。これにより、正確にはインストールというよりも、スクリプトがダウンロードの後、実行され、ストックROM更新時にストックリカバリに上書きされてしまったAスロットが、吸い出しておいたBスロットのTWRPリカバリのイメージで再度上書きされます。
2.Magisk アプリの「」を実行して非アクティブスロットにTWRPをインストール
次にMagiskアプリより、Magiskを非アクティブスロットへインストールします。インストールボタンの後に現れるオプションには、今回のようなOTA後の作業用に「別のスロットにインストール」と言う項目が用意されていました。選択して注意のポップアップを確認後、「はじめる」ボタンでインストールは始まります。
以上を終えたらデバイスを再起動させ、再起動後、アップデートされたROMバージョンと、rootedが維持されていることが確認されました。
TWRPの更新方法
先ほどTWRP公式サイトで最新版がリリースされているのを見付けたので、ついでに更新してみます。公式アプリから更新が出来るようなので、早速PlayストアからOfficial TWRP Appをインストールしてみますが(執筆当時ストアからインストール出来たのはver.1.23)、とても不安定ですぐにアプリが落ちます。そして既存のリカバリをバックアップしようとしても、リカバリを見付けられない様子。
公式サイトのアプリページからもダウンロード出来るので試してみますが、同じ現象でした。しかも公式サイトに上がっているのは、かなり古いバージョン(下図中の me.twrp.twrpapp-26.apk でもver.1.13に相当)。開発リソース不足からメンテナンスが追いついていない状況のようです。
結局いつも通り、公式サイトから最新版のTWRP(執筆当時最新ver.3.52)をデバイスの内部ストレージ内にダウンロードの後、リカバリモードで起動させ、新しいリカバリイメージを焼きました。
Magisk v23
本記事の執筆が終わった頃、Magisk v23がリリースされました。そのリリースノート筆頭に
とあったことから、早速アップデートしてみます。まずは、Magiskアプリから。
続いてMagiskアプリを開き直し、アプリ上でMagiskモジュールをアップデートします。
デバイスの再起動後、Magiskアプリを開いてそのバージョンを確認すると共に、SafetyNetのチェックも成功することが確認出来ました。
それでも香港PPS(繳費靈)のアプリだけは、Magisk hideを使ってもデバイスの改ざん検知により開くことが出来ませんでした。
以前、LineageOSを入れた三星Note3 SM-N9005はこのアプリを使えるので、謎は深まるばかりです。