LoginSignup
58
54

More than 3 years have passed since last update.

とにかくAndroid App Bundleに対応する

Last updated at Posted at 2019-08-13

環境

  • Android Studio 3.4.2

Android App Bundleに対応すると何が嬉しいか

各端末で必要なサイズの画像、言語、ライブラリだけをダウンロードするようになるので、アプリによってはダウンロードサイズの大幅な削減が見込める。

とにかくAndroid App Bundleに対応する

ビルド時(「Build」→「Generate Signed Bundle/APK...」)に上(APKではなくAndroid App Bundle)を選ぶ。

書き出し時はいつもどおり。
初回は「Export encrypted key for enrolling published apps in Google Play App Signing」にチェックを入れておく。

書き出したファイルは「aab」(Android App Bundle)という拡張子になっている。

Export...にチェックを入れている場合は、ここに private_key.pepk というのも入っている。
これをGoogle Play Consoleにアップロードする。
場所は「リリース管理」→「アプリの署名」。

後はいつもどおり「リリース管理」→「アプリのリリース」からアップロードし、リリースする。

とにかくAndroid App Bundleを実機にインストールする

aabファイルはそのままでは実機にadbコマンドでインストールできない。
そのため、少し違う方法を使う事になる。

  • bundletool を利用する
  • 「内部アプリ共有」を使う

bundletool を利用する

bundletool というまたもググラビリティの低い名前のツールがGoogle公式から提供されている。
まず、これのReleasesから最新のjar( bundletool-all-0.10.2.jar など)をダウンロードする。
.bash_profile あたりにこんな感じで書いておく。

alias bundletool="java -jar /path/to/bundletool-all-0.10.2.jar"

source ~/.bash_profile するなりして反映。

まず、下記コマンドを実行する。
オプションはまぁ見れば分かると思う。

bundletool build-apks --bundle=/MyApp/my_app.aab --output=/MyApp/my_app.apks \
--ks=/MyApp/keystore.jks \
--ks-pass=pass:PasSW0rD \
--ks-key-alias=MyKeyAlias \
--key-pass=pass:pAsSw0rD

すると細切れのapkをzipした apks というファイルが出来上がる。
zipファイルなので、拡張子をzipに変更すると解凍して細切れのapkを見る事ができる。
次に、下記コマンドを実行すると、良い感じに実機に合ったapkを作ってインストールしてくれる。

bundletool install-apks --apks=/MyApp/my_app.apks

「内部アプリ共有」を使う

Google Play Consoleにある機能を利用する。

「リリース管理」→「アプリのリリース」→「内部アプリ共有を管理」からhttps://play.google.com/apps/publish/internalappsharing/に遷移する。
そこからaabをアップロードして、「リンクをコピー」からアプリのダウンロード用のリンクをコピーする。

それをシェアすれば良いだけかと思いきや、もう一つハードルがある。

インストールしたい端末でPlayストアアプリを開く。
左上のハンバーガーメニューから「設定」を開く。

次に「Playストアのバージョン」を7回連続でタップする。

すると開発者オプションが有効になって「内部アプリ共有」メニューが表示されるので、これをON(スクショの状態)にする。

そうすると、先程コピーしたリンクを開いて遷移できるようになる。
なお、buildtoolと異なり、リリース済みのバージョンと同じバージョン番号になっている場合は、一度アンインストールして再インストールする事になる。

上記メニューが表示されていない場合は、Playストア自身のバージョンアップが必要な事がある。
「Playストアのバージョン」を1度タップするとバージョンアップがあるか確認できる。

Androidのバージョンが古すぎると(4.1系?)、そもそも「内部アプリ共有」が有効にできない事もある模様。

参考

58
54
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
58
54