1. ホーム
  2. android

[解決済み] aabファイルからApkファイルを生成する(androidアプリバンドル)

2022-10-28 06:40:26

質問

アンドロイドアプリのBundleから、ターミナルやアンドロイドスタジオを使ってapkファイルを生成する方法はありますか?

どのように解決するのですか?

<ブロッククオート

デフォルトでは、IDE はテスト用にアプリをローカル デバイスにデプロイするためにアプリ バンドルは使用しません。 ローカル デバイスにデプロイします。

参照 バンドルツール コマンド

デバッグ用apkコマンド。

bundletool build-apks --bundle=/MyApp/my_app.aab --output=/MyApp/my_app.apks

Release apkコマンドの場合。

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

編集します。

私はaabのリリースビルドをテストしている間、以下のコマンドを使用していました(他の人にも役立つといいのですが)。

  1. ダウンロード bundletool jar ファイルを Github リポジトリ (最新リリース > Assets > bundletool-all-version.jar ファイル)を取得します。そのファイルを以下のようにリネームします。 bundletool.jar

  2. Android Studioからaabファイルを生成します。例:myapp-release.aab

  3. 以下のコマンドを実行します。

    java -jar "path/to/bundletool.jar" build-apks --bundle=myapp-release.aab --output=myapp.apks --ks="/path/to/myapp-release.keystore" --ks-pass=pass:myapp-keystore-pass --ks-key-alias=myapp-alias --key-pass=pass:myapp-alias-pass
    
    
  4. myapp.apks というファイルが生成されます。

  5. デバイスがマシンに接続されていることを確認します

  6. ここで、以下のコマンドを実行して、デバイスにインストールします。

    java -jar "path/to/bundletool.jar" install-apks --apks=myapp.apks
    
    

2を編集します。

を抽出する必要がある場合、単一の .apk ファイルから .aab ファイルでは、追加のパラメータ --mode=universal を追加することができます。 bundletool コマンドに変換します。

bundletool build-apks --bundle=/MyApp/my_app.aab --output=/MyApp/my_app.apks \
    --mode=universal \
    --ks=/MyApp/keystore.jks \
    --ks-pass=file:/MyApp/keystore.pwd \
    --ks-key-alias=MyKeyAlias \
    --key-pass=file:/MyApp/key.pwd

を実行し

unzip -p /MyApp/my_app.apks universal.apk > /MyApp/my_app.apk

を生成します。 /MyApp/my_app.apk ファイルを生成し、デバイスのアプリインストーラーで共有しインストールすることができます。