Mi 11 Liteの/systemパーティションはとても小さく、GSIを焼くと50MBほどしか空きがありません。そのためいわゆるgappsもMagiskモジュールとしてインストールする必要があります。
他の場所ではMagiskGAppsがオススメされていますが、所々GMS関係の部分が英語だったり、位置情報がうまく動作しなかったりと少々怪しい所があります。そこで既存のGappsパッケージから中身を取り出して、Magiskモジュールを自作してみようと思います。/system
の以下に何かを置くか、既存のファイルを新しいファイルに置き換えるだけのモジュールなら簡単に作れますよ。
今回はNikGappsを使います。Basic版以降を再現しようとするとAOSPの標準アプリをいくつか置き換える処理が入ってきて面倒なので、今回はGMSを使ううえで最小限のものが入ったCore版のモジュールを作ってみましょう。
zipを解凍してみると、/commonフォルダ内にスクリプトが、/AppSet/Core内になにやらzipが入っています。
見るからにGMSっぽいですね。展開してみましょう。
ざっくりこれらのファイルを配置するべき場所がわかりますね。たとえば___priv-app___PrebuiltGmsCore/PrebuiltGmsCore.apk
なら、/system/priv-app/PrebuiltGmsCore/PrebuiltGmsCore.apk
に配置することになります。
新しいフォルダを作り、/system/productフォルダを作ってその下にファイルを配置していきます。またGmsCore.zip内のinstaller.shにはいくつか電池消費の最適化まわりの設定が入っています。これもMagiskモジュールの仕組みを使えばできます。
こんな内容のpost-fs-data.shを用意します。公式のDeveloper Guideも参照してください。
module_installer.shをダウンロードしてきて、updater-script
にリネームします。updater-scriptをMETA-INF/com/google/android
の下にコピーし、同フォルダ内に#MAGISK
とだけ書かれたupdate-binary
ファイルを用意します。
以下のような内容のmodule.prop
を用意します。id
は他と被らないものを用意しましょう。
最終的にこんな構造になります。
zipで固めてMagiskで焼くとGMSが使えるようになります。