2022年05月29日

SUNMI V1(V1sではない)をRoot化してGMSを有効化する

SUNMI V1のROOT化がめちゃくちゃ大変だったのでまとめておきます。


SUNMI端末、知ってます?
小売店とかで使われてる決済端末で、スーパーとか飲食店とかによくあるらしいです。

実はウチの近くのスーパーでも使われてました。

そしてこの端末、リース落ちかなんかで今メルカリとかで大量出品されてるんですね。

知り合いがこれを買ってて、めちゃくちゃ欲しくなって自分もポチったんですが、実はSUNMI端末にはV1, V1s, V2があって、V1にはめっちゃ情報がない!
しかもV1sはAndroid 6.xなのに対し、V1はAndroid 5.xなので、広く流通してるV1sの情報が使えない!!!

というわけで、試行錯誤の末GMS有効化できたのでまとめておきます。

まとまってない情報はZenn Scrapsにあります↓
https://zenn.dev/minato86/scraps/dc79f8c55566df

今回やりたいこと

SUNMIの端末では、GMS(Google PlayストアやGoogle 開発者サービスなど)が無効化されていて起動できません。
なので、Root化してGMSを有効化してやる必要があります。

今回やることは

  • Root化(一時Root)を取得する
  • GMSを有効化する

です。

免責

Root化は危険が伴う作業です。
また、端末のロットやOS、入っているアプリケーションにより、失敗する可能性があります。

万が一当ブログの方法を試して、不利益が起こったとしても、当ブログは一切の責任を負いません。

前提条件

  • PCでadbが使えること(Windows想定です、Macは試してないのでわからん)
  • SUNMI V1(Android 5.x)
  • SUNMIにMagiskがインストールされていないこと

Rootを取得する

以下の方法は、XDAにあるチュートリアルを参考にしています。
https://forum.xda-developers.com/t/amazing-temp-root-for-mediatek-armv8-2020-08-24.3922213/page-50#post-82081703

V1s(Android 6.x)では、mtk-easy-suというアプリが使えて、数回ポチポチするだけでRootが取得できるんですが、V1(Android 5.x)には対応してないらしく何度やっても失敗したので、mtk-su(mtk-easy-suの内部で動いてるやつ)を直接実行します。

先にSUNMI V1とPCを接続します。
いつもの手順でUSBデバッグを有効にしておいてください。

まずは、init.d script supportというアプリをインストールします。
Google Playにあるアプリケーションですが、Google Playは使えないので、APKPureなどを利用してAPKをダウンロード、adb install [ダウンロードしたapkのパス] でインストールしてください。

V1-B18(もしかしたらB18の部分は違うかも)が表示されたら、その中の携帯端末の保存空間を開き、init.d というフォルダを作ります。

init.d の中に bin を作ります。

一旦SUNMIの端末に戻って、init.d scripts supportで↑のように設定します。

次に、Magisk Managerの最新版をインストールします。
https://github.com/topjohnwu/Magisk/releases

先程と同じようにapkをダウンロードして、adbコマンドでインストールします。

次に、このXDAの投稿からmagisk-bootをダウンロードします。
ここが最初に書いたチュートリアルとの違いで、このスクリプトを使用しないとAndroid 5.xでは動きません。

ダウンロードしたmagisk-boot*.sh.txtの.txtを削除して、先程作ったbinフォルダに入れます。

次に、このXDAの投稿から、mtk-suをダウンロードします。
mtk-su_r*.zipというファイルがあるので、数字が1番デカいものをダウンロードします。

ダウンロードしたzipを解凍して、armフォルダ(arm64ではない)の中にあるmtk-suをbinフォルダに入れます。

次に、Magisk v21.4をGithubからダウンロードします。 ダウンロードするファイルは Magisk-v21.4.zip です。

ダウンロードしたzipを解凍して、その中にあるarmフォルダを開き、magiskinit(magiskinit64ではない) をbinフォルダに入れます。

最終的にこんな感じになりました。

あとはinit.d scripts supportで Run scripts now を実行すれば、Rootが取れるはずです!

Show last execution results の結果が

UID: 0 cap: 3fffffffff selinux: permissive

で終わっていれば、Root化は成功です。

GMSの有効化

PC側で

adb shell

で端末のShellに入ります。

su

でRootでShellを実行します。
この時、SUNMI側に確認画面が出るので、承認します。

あとは

pm enable com.android.vending
pm enable com.google.android.gsf.login
pm enable com.google.android.gms
pm enable com.google.android.gsf

を順番に実行すれば、Google Play ストアが復活します。

参考:
SUNMI V1sのGMS恒久的有効化/Root|ぬいるぽいんた|note
https://note.com/nuilpointer/n/n1f8f9ee27851#78a0424a-9970-42c5-b400-f60f8459e794

大変だった

この方法を見つけるために、XDAでめちゃくちゃ調べまくったり、GithubのIssueを読みまくりました。

最終的に解決できてよかったです。。。!

たのしい

プリントソフトウェアに関しては、以下の記事を参考にするとよいです

【SUNMI V1s】例のAndroid搭載POS端末を買ってみた GMS有効化と維持 - ROM焼き試験場
https://mitanyan98.hatenablog.com/entry/2022/04/13/021218#%E3%82%B9%E3%83%9A%E3%83%83%E3%82%AF

P.S.

ロールの大きさを間違えるとこうなるので気をつけよう

正しいロールはこれ

© 巳波みなと|アマゾンアソシエイトプログラムに加入しています