React native, Expoのビルドサイズを削減


expoでビルドした「カレイドツクール」は49MBでした。

こんなもんかなと思いましたがassetに大きなファイルも入れていないのにこれまでのUnityアプリよりもサイズが大きい。

Google Play App Signingを有効化してAndroid App Bundleを使用することで容量の削減を試みました。

少し減ればいいなと思っていたらなんと半分になります。

Android App Bundle

ディベロッパーコンソールを見るとこのようにある。

 

インストール数の増加というのは眉唾ですが小さい方がいいのは確か。見てみます。

これを使えばサイズが半分になる!

 

ただAndroid App Bundleというのはなんとなく知ってましたが、Google側でビルドするような感じだし、Expoでは使えないんじゃないかと思ってました。

ちょっと調べると-t app-bundleオプションを付けるだけでBundle可能なようです。

Google Play App Signing

Google Play App Signingを有効化しないとBundled Appはアップロードできません。

私はずっとオプトアウトしていたのでオプトインします。

 

ここではAndroid Studioが最初にあるのでこの通りやろうとしましたが失敗。

公式ドキュメントや解説サイトを複数見てトライするもどうしても次のエラー。

予期しないエラーが発生しました。しばらくしてからもう一度お試しください。(668269003)

 

悲観に暮れてJava Keystoreの方法に変えたら即通りました。Android Studioめ。

Bundled Appをアップロードする

Android App Bundleでビルドしたアプリは .aab ファイルになります。

普段の .apk ファイルと違ってそのままインストールなど出来ないのでデプロイ時専用といった感じですね。

 

.aab ファイル自体は .apk ファイルよりも容量が大きかったです。

しかしGoogle Playにアップロードするとちゃんと削減されてました。

アプリ容量半減!

 

Google Playでは何故か17Mと表示されますが、実際にインストールすると24.5Mになっています。

備考

Expoのビルドに時間がかかるのは前に言った気もしますが、今回2回ビルドしたところ3時間と4時間でした。

大体コイツのせい。

 

たまたまかもしれませんがアプリ審査と合わせて半日は見積もった方がよさそう。


3 thoughts on “React native, Expoのビルドサイズを削減”

  1. 良い情報をありがとうございます。質問ですが、ビルドサイズを削減してもOTAアップデートは使えますでしょうか。

  2. コメントありがとうございます。
    残念ながらpublish使ったことがないんです(挙動をイマイチ把握できなくて)。

    気になってはいるので使うことがあれば書きたいと思います。

コメントを残す

メールアドレスが公開されることはありません。