Posted at

Unityを使ったMultiple APKのやりかた


Multiple APK とは

App Bundleより昔にあったやりかたで、

API levelやCPU architectureなどでインストールするAPKを切り替えることができる機能のこと。

基本的にはApp Bundleで十分なので使用する必要はない。

しかし、プラグインの事情など特別な理由によりAPKファイルを切り替えたい時に使用できる。


前提知識

Google Play Consoleにアップロードするため、リリースのやり方は別途調べておく必要がある。

- 私は https://qiita.com/tsucchi13/items/11b3d9c8f99ceedb4b47 を参照しました。


手順


  1. Player Settings - Android - Publishing Settings を設定しておく

  2. Player Settings - Android - Configuration を変更する

  3. Player Settings - Android - Identification - Bundle Version Code を被らないように変更する



  4. apkを出力し、必要な分だけ2に戻る

  5. Google Play ConsoleにすべてのAPKファイルをそれぞれアップロードする
    image.png

  6. 公開する


要点

インストール時に使用されるAPKファイルは以下のように選択されるようなので、そこで制御を行う。

事実上、複数のAPKファイルさえ用意できればBundle Version Codeを管理できさえすれば、他には何もする必要はない。

(パックするツールがあるのかと探したが、その必要がなかった)


  1. 該当の端末で使用できるAPKファイルをフィルタリングする


    • API levelやCPU architectureなどでフィルタリングされる



  2. フィルタリングされたものの中でBundle Version Codeが一番大きいものが採用される


    • そのため、下位互換のあるもの(ARM64がARMv7のものを実行できるなど)については優先するものほど大きい値にする必要がある