LoginSignup
8
9

More than 5 years have passed since last update.

アプリが対応している言語を明記して apk ファイルサイズを削減する

Posted at

概要

アプリが対応している言語を app/build.gradle に指定することで、参照しているライブラリ内の言語リソースのうち不要な言語リソースを削除することができる。
→ apk ファイルサイズを削減できる。
(指定しない場合、ライブラリ内の全ての言語リソースが apk に同梱される)

詳細

https://developer.android.com/studio/build/shrink-code.html?hl=ja#unused-alt-resources
を参照

アプリが日本語と英語しか対応していなくても、アプリが使っているライブラリ(AppCompat や Google Play サービスなど)に使用しない言語の文字列リソース(韓国語など)が含まれている事がある。

app/build.gradle に

android {
    defaultConfig {
        ...
        resConfigs "en", "fr"
    }
}

などの指定を行うことにより、指定した言語以外のリソースファイルを削除し、apk ファイルサイズを削減することができる。

実際にやってみた

前提

  • Android Studio 2.3.3 で Empty Activity のテンプレートで新規作成し、apk をリリースビルドで作成する。
  • ApkAnalyzer でファイルサイズを確認する。

結果

apk サイズが 約 76KB 削減できた!

設定前(デフォルト)

  • Raw FileSize : 1.4 MB
  • resources.arscの Raw FileSize : 221.3 KB
  • resources.arscstring にさまざまな言語リソースが含まれていることがわかる

before.png

設定

app/build.gradle に赤下線部の設定を加える(日本語と英語のみ対応する設定)
 
スクリーンショット 2017-06-24 23.21.36.png

設定後

  • Raw FileSize : 1.4 MB → 1.3 MB
  • resources.arscの Raw FileSize : 221.3 KB → 145.2 KB 約 76 KB 削減
  • resources.arscstring に指定した言語しか含まれていないことがわかる after.png

まとめ

app/build.gradle に、アプリが対応している言語を resConfigs で明記すると、外部ライブラリ内の不要な言語リソースを削減でき、 apk ファイル削減につながる。

8
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
9