開発者ツール

AAB から APK へのオンライン無料コンバーター — アプリバンドルを変換

無料オンライン AABからAPKへのコンバーター — インタラクティブ コマンド ビルダー、AAB ファイル エクスプローラー、ステップバイステップの変換ウィザード、トラブルシューティング ガイド。 Windows、Mac、Linuxで動作します。

1. OSを選択してください

2.AAB ファイルのパス

3. 出力APKパス

4. 署名設定

5. オプション

生成されたコマンド


前提条件

Java JDK 8+がインストールされている
ダウンロードしたbundletool.jar
Android SDK (オプション、デバイス固有)
バンドルツールをダウンロード

AAB ファイルをドロップして探索する

AAB ファイルの内部構造を表示する

.aab ファイルをサポート
1

バンドルツールをダウンロード

Bundletool は、AAB 操作用の Google の公式ツールです。 GitHub から最新バージョンをダウンロードします。

wget https://github.com/google/bundletool/releases/latest/download/bundletool-all.jar
2

AAB から APK を生成する

Bundletool を使用して、AAB ファイルを APK のセットに変換します。

java -jar bundletool.jar build-apks --bundle=app.aab --output=app.apks
3

ユニバーサル APK を生成する

すべてのデバイスで動作する単一のユニバーサル APK を作成します。

java -jar bundletool.jar build-apks --bundle=app.aab --output=app.apks --mode=universal
4

APKS から APK を抽出する

出力される .apks ファイルは ZIP アーカイブです。そこから universal.apk を抽出します。

unzip app.apks -d output_dir/
5

デバイスへのインストール (オプション)

生成された APK を接続されたデバイスに直接インストールします。

java -jar bundletool.jar install-apks --apks=app.apks

Android アプリ バンドル (AAB) は、Google Play での Android アプリの公開形式です。これにはコンパイル済みのコードとリソースがすべて含まれていますが、APK の生成は Google Play に委ねられ、デバイス構成ごとに最適化された APK が作成されます。

いいえ、AAB から APK への変換には、Web ブラウザーでは実行できない Bundletool (Java アプリケーション) が必要です。 Java JDK と Bundletool をローカルにインストールする必要があります。コマンド ビルダーは、正しいコマンドの生成に役立ちます。

このエラーは、署名情報が提供されていない場合に発生します。署名なしテストには --mode=universal を使用するか、--ks、--ks-pass、--ks-key-alias、および --key-pass パラメーターを指定します。

分割APK は、特定のデバイス用に最適化されています (アーキテクチャ、画面密度、言語に基づいて)。 ユニバーサルAPK にはすべての構成のリソースが含まれており、その結果、より大きくても普遍的な互換性のある APK が得られます。

Bundletool は JAR ファイルであり、システム コマンドではありません。 java -jar bundletool-all.jar と組み合わせて使用​​します。 Java JDK 8+ がインストールされていること、および JAR ファイルのパスが正しいことを確認してください。

AAB をオンラインで APK に変換: このツールが実際に行うこと

Android アプリ バンドル (.aab) は、Google Play が開発者にアップロードを求める形式ですが、携帯電話にインストールできるものではありません。ビルド サーバー、CI パイプライン、または同僚からの .aab ファイルがある場合は、まずそれをインストール可能な .apk に変換する必要があります。このページでは、そのジョブに対して 2 つの機能が提供されます。1 つはオペレーティング システム用の正確なバンドルツール コマンドを記述するインタラクティブな AAB から APK へのコマンド ビルダー、もう 1 つはブラウザーでバンドルを開いて変換する前に中身を確認できる AAB ファイルエクスプローラー です。

変換自体は、Java プログラムである Google の公式 bundletool を通じて実行されます。 Bundletool には Java ランタイムとキーストアへのアクセスが必要なため、実際のビルド ステップはサーバーではなくユーザー自身のマシンで行われます。 .aab ファイルがどこにもアップロードされることはありません。ビルダーは推測を排除するだけなので、フラグ名を記憶する代わりに、すぐに実行できる正しいコマンドをコピーできます。

AAB と APK: ファイルの名前を変更するだけではいけない理由

多くの人が拡張機能の名前を変更して AAB を APK に変更する方法を検索していますが、それは決して機能しません。 .apk は、Android が直接インストールできる単一の自己完結型パッケージです。 .aab は公開コンテナです。コンパイルされたコードとリソースがモジュールに分割されて保持され、Google Play または Bundletool がそこから最終的なデバイスに最適化された APK を生成することを期待します。ファイルの名前を変更しても、それらのモジュールは解凍されず、何も署名されないため、Android はそのインストールを拒否します。 Android アプリバンドルから APK へ を変換する唯一の信頼できる方法は、bundletool に APK セットを構築させることです。

Windows、Mac、Linux で AAB を APK に変換する方法

この手順はどのプラットフォームでも同じで、ファイル パスのスタイルのみが変わります。そのため、上記のコマンド ビルダーには Windows、macOS、および Linux のスイッチが用意されています。最初から最後までの完全な流れは次のとおりです。

  1. Java JDK 8 以降をインストールします。 ターミナルで java -version を実行して、Java が PATH 上にあることを確認します。
  2. バンドルツールをダウンロードします。 Google の公式 GitHub リリース ページから最新の bundletool-all.jar を入手してください。
  3. APK セットを構築します。 バンドルにbundletoolを指定し、.apksアーカイブを生成させます: java -jar bundletool-all.jar build-apks --bundle=app.aab --output=app.apks --mode=universal
  4. .apks アーカイブを開きます。 ただのZIPファイルなので解凍すると中にuniversal.apkがあります。
  5. デバイスにインストールします。 APK を携帯電話にコピーしてサイドロードするか、USB 経由で接続されたデバイスで bundletool install-apks を使用します。

ユニバーサル APK と分割 APK: どちらを構築する必要がありますか?

1 つのファイルを任意の電話機にインストールしたい場合は、--mode=universal を使用します。これにより、すべての CPU アーキテクチャ、画面密度、言語を 1 つのパッケージにバンドルした単一の AAB からのユニバーサル APK が構築されます。サイズは大きくなりますが、Play ストア外でビルドをテスト、アーカイブ、共有するための最も簡単なオプションです。このモードをオフのままにすると、bundletool は代わりに、特定の 1 つのデバイス用にトリミングされた分割 APK を生成するため、ダウンロードされるサイズは小さくなりますが、一致するセットを一緒にインストールする必要があります。簡単にインストールするために .aab を変換する必要があるほとんどの人にとって、ユニバーサル APK は正しい選択です。

AAB から取得した APK に署名する

Android は、署名されていない限り APK をインストールしません。テストの場合、bundletool はデバッグ キーを使用して自動的に署名できます。これは、ビルダーの [デバッグ キーストアを使用する] オプションが行うこととまったく同じです。たとえば、独自の Web サイトで配布するためにリリース ビルドを準備している場合は、キーストア パス、キーストア パスワード、キー エイリアス、およびキー パスワードのフィールドに入力して、独自のキーストアで署名します。次に、ビルダーは --ks、--ks-pass、--ks-key-alias、および --key-pass フラグを追加して、取得した APK に使い捨てのデバッグ署名ではなく実際の運用署名が含まれるようにします。

一般的なバンドルツールエラーとその修正方法

2 つの問題が繰り返し発生します。 「bundletool: command not found」というメッセージは、bundletool を組み込みコマンドであるかのように実行しようとしたことを意味します。これは JAR ファイルであるため、常に java -jar bundletool-all.jar を使用して呼び出します。 「キー/証明書がありません」エラーは、署名の詳細が欠落していることを意味します。未署名のテスト ビルドに --mode=universal を追加するか、上記のようにキーストア フラグを指定します。ページの上部にある [トラブルシューティング] タブでは、これらの詳細をカバーしており、AAB エクスプローラーを使用すると、コマンドのデバッグに時間を費やす前に、バンドルに期待するモジュールが実際に含まれていることを確認できます。

実際に AAB を変換する必要があるのはどのような場合ですか?

一般的な理由としては、公開前に実際のデバイスでリリース ビルドをテストすること、Google Play を使用しないテスターに​​ビルドを渡すこと、記録用に自分のアプリのインストール可能なコピーを保存すること、Play ストアの内部テストが及ばないハードウェアで QA を実行することが挙げられます。理由が何であれ、独自のビルドや作業許可を明確に持っているバンドルなど、使用する権利があるアプリ バンドルのみを変換してください。

Mst Shaefale による設計と文書化 リード開発者兼 Android パッケージ アーキテクト • Android 12 ~ 15 で検証済み

XAPK to APK ツールキットのすべてのユーティリティは、JavaScript と WebAssembly を介してブラウザーで 100% ローカルに実行されます。特定のパッケージに関するエッジケースを見つけましたか?弊社のエンジニアリング チームに報告してください。