メインコンテンツまでスキップ

AAB ファイルから APK を抽出する

Aptoide Connect 開発者コンソールで Android アプリケーションを提出する際、アップロードするファイルが Android App Bundle(AAB/.aab)ではないことが求められます。
このため、以下では当社のプラットフォームでアプリを公開するために必要となる APK の抽出方法を説明します。これには bundletool を使用します。

❗️

Key Store にアクセスできない場合は、このガイドに従わないでください

Key Store にアクセスできず、Google Play の署名を使用している場合は、以下の手順に従わないでください。Google Play の署名を使用しながらスタンドアロン APK を取得するには、このガイドに従ってください。

AAB ファイルから APK を抽出する方法

bundletool は、AAB ファイルを、Android デバイスにデプロイされる複数の APK に変換できるツールです。bundletool は GitHub リポジトリからダウンロードできます(こちらをクリック)。

.jar ファイルをダウンロードした後、それを実行するには、ターミナルで次のコマンドを使用する必要があります。

java -jar bundletool-all-1.11.0.jar

.aab ファイルから APK を生成するには、bundletool 内の build-apks コマンドを使用する必要があります。このコマンドを使用すると、.apks ファイル拡張子を使用する「APK set archive」と呼ばれるコンテナにそれらを含めることで、アプリバンドルから APK を生成します。以下にその使用例を示します。

java -jar bundletool-all-1.11.0.jar build-apks --bundle=/MyApp/my_app.aab --output=/MyApp/my_app.apks

このコマンドでは、2 つのフラグが使用されています。

  • bundle:.aab ファイルへのパス。
  • output:生成される .apks ファイルへのパス。

.apks ファイル内のファイルにアクセスするには、ファイル拡張子を .zip に変更して解凍するだけです。解凍されたファイルには splits という名前のフォルダーが表示され、その中にベース APK(base-master.apk)とそのすべての分割が含まれています。

代わりに、スタンドアロン APK(アプリのすべてのコードとリソースを含む単一の APK)を取得したい場合は、以下のコマンドに示すように mode を universal に設定する必要があります。

java -jar bundletool-all-1.11.0.jar build-apks --bundle=/MyApp/my_app.aab --output=/MyApp/my_app.apks --mode=universal

アプリの署名情報を含めて APK を抽出する

APK を Aptoide Connect にデプロイしたい場合は、アプリケーションの署名情報も含める必要があります。以下にその方法の例を示します。

java -jar bundletool-all-1.11.0.jar 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=pass:mypassword

このコマンドでは、4 つの新しいフラグが使用されています。

  • ks:keystore ファイルへのパス。
  • ks-pass:keystore のパスワード(プレーンテキストで使用する場合は ks-pass=pass:、ファイルを使用する場合は ks-pass=file:)。
  • ks-key-alias:署名鍵のエイリアス/名前。
  • key-pass:署名鍵のパスワード(プレーンテキストで使用する場合は key-pass=pass:、ファイルを使用する場合は key-pass=file:)。

最後に、これらおよびその他のコマンドの詳細については、こちらをクリックしてください