こんにちは。
DFMを実装した時に毎回GooglePlayのInternalAppSharingにアプリをアップロードして試していたのですが、
デバッグができないことや毎回apkやaabをアップロードする手間が発生して大変でした。
さすがに大変だったのでローカルでできる方法はないかと思い、調べていたところ公式でやり方が書いてあったのでここにまとめておきます。
準備しておくこと
- bundletoolを使えるようにしておく
- 公式ページ
-
brew install bundletool
でもできます
- aabを用意しておく
-
./gradlew bundleDebug
等で作成
-
やり方
1. aabをapksに変換
bundletoolを使ってaabをapksに変換します。
以下コマンドをコマンドライン上で実行します。
bundletool build-apks --local-testing
--bundle my_app.aab
--output my_app.apks
これが成功するとoutputで指定した名前のapksが作成されます。
余談
apksは実態がzipなのでunzipできます。
unzipしてみると中にapkが複数入ってます。
気になる方は見てみてください。
2. apksをインストール
次に、apksを端末にインストールします。
これもbundletoolを使ってやっていきます。
すでにアプリがインストールされている場合はアンインストールしておきましょう。
以下コマンドを実行します。
bundletool install-apks --apks my_app.apks
3. アプリを実行
インストールがうまくいったらいよいよアプリを起動してみましょう。
アプリでDFMをインストールするフローに行くとしっかりインストールされることが確認できると思います。
以上がやり方になります。
最後に
意外と簡単にローカルで試すことができました。
また、やり方では説明していませんでしたが、SplitInstallManagerをFakeSplitInstallManagerというものに置き換えると通信エラーなどの状態も再現することができるので気になる方はぜひそちらも試してみてください。