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:)。
最後に、これらおよびその他のコマンドの詳細については、こちらをクリックしてください。