Google Playの100MB制限とAPK Expansion Files
Google Playには100MBを超えるapkをアップロードできません。
100MBを超えるデータを扱いたい場合のために、Google Playでは拡張ファイル(APK Expansion Files)という仕組みが提供されています。この仕組みを使うと1つのアプリにつき2つの拡張ファイルを保存できます。1つの拡張ファイルのサイズは最大2GB。
ファイルは2つまでなので、多数のファイルを扱いたい場合はobb(Opaque Binary Blob)ファイル化もしくはzipファイル化するのがセオリーです。
obbは複数ファイルをひとまとめにしたディスクイメージのようなもの。apkでobbをマウントし、中に含まれるファイルにアクセスする形となります。zipは普通のzipファイルです。圧縮によってサイズが小さくなりますが、展開処理のコストがかかります。
obbにせよzipにせよ万能ではなく、いくつかの制約があります。
- obbやzipに含めることができるのは通常はアセット類(画像、動画など)だけで、プログラムそのものを分割することはできない
- つまり、分割によって外出しできる容量の上限はアセット類の合計となる
- 拡張ファイルが正しく機能するかどうかのテストを行うためには、アルファ版、ベータ版としてGoogle Playにapkをアップする必要がある
- 開発中のテストもGoogle Playからの配信が必須ですね...
- 実装がいろいろと大変
- obbにせよzipにせよ、ファイルアクセス部分を自前で実装する必要がある
- ヘルパー的なライブラリは存在するが、それでもそれなりの実装工数がかかる
開発やテストが煩雑になるのはかなりのデメリットだと思います。なるべく100MBに収めるのがベターですね。
参考URL
- APK Expansion Files | Android Developers
- APK 拡張ファイルの追加、削除、テスト - Play Console ヘルプ
- naochang | Google Play Marketにて100MB以上のアプリをストアにアップロード
- グーグル、Google Play が 100MB の APK ファイルに対応、よりデータサイズの大きいゲームなどのアプリ提供(配信)が可能に | GPad
- Expansion Filesについて(1) - obb作成編 - キノコの自省録
- APK拡張ファイル - Qiita
- [android] APK Expansion Files | Drowsy Dog’s Diary
関連(するかもしれない)記事
おススメ