でっかいAPKファイルを作ってみる

2018年2月15日

皆さんアプリ開発してますか?僕はしてません、分かりません。ですが、ちょっとだけ触る機会があったので、殆どコードを書かずにパッケージをビルドして遊んでいます。

さて、AndroidのアプリケーションパッケージはAPKであることはご存知かと思いますが、そのファイルサイズ制限は知っていますでしょうか。

GooglePlayで配信する場合は、アプリサイズは100MBまで。それを超える場合は拡張ファイルを登録して配信する必要があります。

APK 拡張ファイルの追加とテスト – Play Console ヘルプ

GooglePlayで配信するのなら、そのルールに従ってアプリを開発し、公開すれば良いのですが、ふと思うわけです。野良でアプリを公開する場合はどうなるのだろうかと。どうにも軽く探した感じではAPKのサイズ制限についてはっきりと書かれているものを見つけることができませんでした。

ちょっとしたゲームを作ってビルドしたら100MBを超えてしまうかもしれません。追加データを別途用意する方式は野良ではやりづらいです。できればAPKひとつで済ませてしまいたいところ。はてさて、一体どのぐらいのサイズまでなら大丈夫なのだろうか……。

じゃあ試してみよう

丁度ティラノスクリプトで何かしらを作っていたので、Android用にビルドしてみます。そのままビルドして動作することは確認していますので、容量かさ増しのために適当な動画ファイルを2~3個突っ込んでビルドしました。

あっ

やたらサイズが大きいのでJava heap spaceなんちゃらとエラーが出ました。Gradle Scripts > gradle.propertiesのorg.gradle.jvmargsを爆盛りして対処します。8GBぐらいに盛っておきました。(ヤケクソ気味)

できた。

2.97GBのAPKファイルができました。アホですね。端末に転送しておきました。

インストールしてみよう

端末に転送したので早速インストールしてみます。検証に利用するのはAndroid One X2(X2-HT)です。

野良アプリをインストールする要領で、ファイラーから選択して突っ込みます。

この準備に1分ぐらい。

テスト用のデータを入れていた端末だったのでアップデート扱いになりました。

このインストールに2分。

インストールできた。

動いた。

端末の空きが3~4GBしかなかった場合。

これよりも大きいサイズのアプリは、ビルドするのがしんどすぎたのでやめました。普通に考えて多くても1GBあればいい……。

3GBぐらいならとりあえずインストール可

3GBぐらいのAPKファイルならインストール自体は可能でした。しかし、インストールにAPKサイズ+インストールサイズ分の空き容量が必要なことや、インストールに物凄く時間がかかること。そして、何よりもAPKのビルドに大量のメモリを必要とすることなど、あんまり良いことはありませんでした。

あまり大容量のパッケージだと、インストールできる端末が減ってしまって遊んでくれる人が減りますからね。インストール用に内部ストレージを6GB空けておいてくださいなんて嫌ですよね。それに動かしているうちにどんなエラーに直面するか分かりません。

というわけで、野良アプリとして100MB以上のAPKを作っても問題なさそうということでした。以上です。