決済サービス利用に使う端末の座をAQUOS sense3に譲ってから使い道のなかったRakuten Miniを今更ながらroot化しました。
Rakuten Miniのroot化は
Rakuten MiniをBootloader Unlockする方法。Magiskでのroot化やカスタムロム導入も可能 - AndroPlus
で説明されている通りやればOKなのでやり方については割愛。
私がroot化した時点で最新のファームウェア(C330AE_9.0_RMN_JP_95_SS)でも問題なくBootloader Unlock、root化できました。
しかしroot化作業でハマった事がいくつか。
まずはRakuten MiniをbootloaderモードにするとPCから認識されなくなる事。
もちろん作業を行なうPCにはGoogle純正USBドライバをインストールしており、Android起動状態であればちゃんと認識されADBコマンドも受け付けるのですが、なぜかbootloaderモード起動状態だと上記画像のようにデバイスマネージャ上でびっくりマーク表示になってしまい、Bootloader Unlockコマンドを入力しても受け付けない。
別途ドライバが必要なようですが、10年以上前から何台ものAndroid端末をroot化してきて今までこんな事はなかったのに、いつの間にやらこんな仕様に、と困惑してしまいました。
USBドライバをダウンロード、インストールし直したり、サードパーティーのユニバーサルUSBドライバに変えてみたり、作業するPCを変えてみたりとあれこれやってみたもののの認識されず。
ダメ元でWindows Updateでドライバを検索してみると…
見つかりました。
Windows 10 PCにbootloaderモードのRakuten Miniを接続した状態でWindows Updateからドライバを検索すると"Google Inc. - Other hardware - Android Bootloader Interface"というドライバが見つかるのでこれをインストールすればOK。
ちなみにオフラインでインストールできるようこのドライバをダウンロードしておきたいと思い探してみたのですが見つからず…
Windows Updateからインストールするしかないようです。
Windows 8.1だとなぜかTP-LINK製のデバイスとして認識されるのですが、そのドライバでOKなのでそれをインストールします。
これでBootloader Unlockするために必要なドライバの問題は解決。
そしてもう一つがEdXposedのインストールが当初うまくいかなかった事。
EdXposedのインストール後EdXposed Managerを起動すると"EdXposed Framework is not (properly) installed"と表示され、EdXposedが有効にならないのです(スクショを撮り忘れた…)。
つまりEdXposedがインストールされているものの、正常動作していない、という事になりますが、Magiskのバージョン、EdXposedを動作させるために必要なRiruモジュールのバージョン、EdXposedのバージョンをあれこれ変えてみても解決せず、結局ファクトリーリセットして最初からやり直す事に。
その後何とかEdXposedを正常動作させる事ができましたが、それで分かったのがMagisk、Riruモジュール、EdXposedいずれも最新版ではダメで、Magisk 20.4、Magisk Manager 8.0.7、Riru 23.9、EdXposed 0.5.2.1_4677、EdXposed Manager 4.6.2(最新版)をインストールする必要がある事。
つまりEdXposed Manager以外は旧バージョンを使う、という事になります。
実は以前Android 10化したGalaxy Note 3(SM-N9005)にインストールしたEdXposedも関連するアプリ/モジュールを更新するとEdXposedが無効になったり、端末そのものが起動しなくなったりとトラブルを起こし、結局上記バージョンに戻して更新しない、という運用をしているのですが、本当面倒だ…
というわけで無事Rakuten Miniをroot化し、EdXposedもインストールできたわけですが、やはりrooted環境は快適ですね。
スクリーンショット撮影音を消したり、フォントを変更したり、無効化もアンインストールもできない不要なプリインストールアプリを消したり、鬱陶しい広告を消したりと何でもいじり放題ですし、何かにつけ位置情報をむしり取ろうとするAndroidの仕様のせいで非root化端末ではGPSをONにしたくない(実際してない)のですが、それもroot化すれば位置情報を偽装できるので問題なくなります。
しかし気になるのがroot化してあるにもかかわらずAndroid起動状態でファイルマネージャから/systemに書き込みできず、読み取り専用になってしまう事。
Android 11以降はそういう仕様ですし、Magiskのバージョンによってはそうなってしまう事があるのですが、Rakuten MiniのAndroidバージョンは9(Pie)ですから前者には当てはまりませんし、Magiskもそういった症状が出ない古いバージョンにしている(上記のEdXposedの関係でもある)のになぜか/systemに書き込みできない。
とは言えこれはカスタムリカバリ(TWRP)上で/systemをマウントし、TWRPのファイルマネージャなりターミナルなりでファイルコピー、書き換えなどの操作をすれば済む事なのですが、そのためだけにPCからADBでTWRPのイメージを読み込ませTWRPを起動し作業するのは手間ですからね。
とは言え/systemをいじる作業は頻繁にやるものではないですからそれ程大きな問題ではありませんが、面倒ではあります。
というわけで無事root化できたRakuten Miniの使い道ですが、このサイズを活かす意味でもGPSログ取り端末として使おうかな、と思っています。
そもそもRakuten Miniをroot化しようと思ったきっかけが今年の正月にGalaxy Note3(SM-N9005、LineageOS 17.1/Android 10)でGPSログを取ろうとしたところ端末がスリープに入るとログ取得が止まってしまい使い物にならない事に気づき、その対策を考えていたから。
そこで使い道のなかったRakuten Miniをroot化し、GPSログ取り端末として使えば問題解決だし、本体サイズが小さいのでこの用途には最適、ということで今回root化したわけです。
後で分かった事なのですが、実はGalaxy Note3でGPSログ取得がうまくいかないトラブルの原因はGPSログ取得に使っているアプリのバージョンだったので、それを最新版に更新(Google Playから消されてしまっているのでF-Droidからインストールし直す必要があった:それ故更新に気づかなかった)する事で解決したのですが…
とは言えGalaxy Note3は本体サイズが大きいし、GPSの測位が遅すぎる(恐らくカスタムROM(LineageOS)のせい)ので、そもそもGPSログ取りには向かないのですが。
しかしRakuten Miniは移動中にGPS情報の取得を開始すると測位に時間がかかりますし、静止状態でもそれ程測位が速くないのが気になるんだよな…
最後に余談を一つ。
root化して使い始めた数日後、何と言うことかファームウェアアップデート(OTA)が来てしまい、なぜこのタイミングで、と思ってしまいました。
root化しているためそのままではOTAできないものの、一応ファームウェアアップデートする方法はあるとの事。
しかし面倒ですし、頻繁に使う端末でもないのでアップデートはパスしようと思っているのですが、毎晩ファームウェアアップデートを促すこのポップアップが開くのが本当ウザい。
これを開かなくする方法を探しているのですが、/systemにそれに関係していそうなファイルが見当たらないんだよな…