APKMバンドルアンパッカー

APKMからAPKへのコンバーターおよびアンパッカーオンライン

ブラウザで直接 .apkm 分割バンドル を検査して解凍します。自動的に info.json メタデータを解析し、バイナリ コンテナ ヘッダーを検証し、base.apk と CPU/DPI 分割を抽出し、すぐに実行できる adb install-multiple コマンドを生成します。サーバーへのアップロードは不要で、100% クライアント側で実行されます。

.APKM バンドルをここにドラッグ アンド ドロップします

または、.apkm、.apks、または .zip 分割アーカイブをクリックして選択します

100% ローカルブラウザ処理 • info.json を解析し、APK を分割

APKM コンテナ アーキテクチャの内部

開発者が Android App Bundle (.aab) を Google Play に公開すると、デバイスはハードウェアに合わせた分割 APK のみを受け取ります。 APKMirror などのサードパーティのアーカイブ プラットフォームは、これらのモジュラー分割を info.json という名前の JSON 記述子とともに .apkm バンドルにパッケージ化します。

  • ヘッダーマジックバイト検証: .apkm が標準の PKZIP フレーム (0x504B0304) を使用しているか、暗号化された v2 ストリーム ヘッダーを使用しているかをチェックします。
  • info.json マニフェスト解析: パッケージ名 (pname)、バージョン コード、Android SDK の最小レベル、およびサポートされている CPU アーキテクチャを抽出します。
  • ワンクリックの標準 .apks 再パッケージ化: 暗号化されていない .apkm コンテナを、SAI、bundletool、および メインの分割 APK マージ と互換性のあるユニバーサル .apks ZIP アーカイブに変換します。

テクニカル リファレンス: APKM バンドルをスタンドアロン APK ファイルに変換する

.apkm ファイルは、単一のコンパイル済み Android パッケージではありません。これは、プライマリ base.apk モジュールと、CPU 命令セット (split_config.arm64_v8a.apk、split_config.armeabi_v7a.apk、画面ピクセル密度 (split_config.xxhdpi.apk、split_config.xxxhdpi.apk、およびローカライズされた文字列リソース (split_config.en.apk) の個別の構成分割を含むマルチパート アーカイブです))。 Android のデフォルトのパッケージ インストーラー (PackageInstaller) は、ファイル マネージャーからサイドロードするときに単一のモノリシック .apk のみを受け入れるため、携帯電話で .apkm ファイルを直接タップすると、認識されないファイル エラーが発生します。

.apkm アーカイブから base.apk を抽出し、それを Android 13、14、または 15 に単独でインストールしようとしても、2 つの技術的障壁によりアプリの動作が妨げられます。

  • バイナリマニフェスト分割の強制 (isSplitRequired="true"): base.apk のコンパイル済みバイナリ AndroidManifest.xml 内で、<application> タグはブール属性 android:isSplitRequired="true" (属性リソース ID 0x01010591) を保持します。 Android の PackageManagerService は、単一 APK のインストール中にこのフラグを検出すると、すぐに INSTALL_FAILED_MISSING_SPLIT で中止されます。
  • 分離されたネイティブ ライブラリと密度リソース: すべてのコンパイル済み C/C++ 共有ライブラリ (lib/arm64-v8a/*.so) と高解像度 UI ドローアブルは、コンパニオン split_config.*.apk ファイルに存在します。これらのエントリをベース アーカイブにマージして resources.arsc を更新しないと、アプリケーションは java.lang.UnsatisfiedLinkError または Resources$NotFoundException で起動時にクラッシュします。
  • ZIP ベースと暗号化された APKM ストリーム: 標準の .apkm アーカイブは 4 バイトの PKZIP 署名 (50 4B 03 04) で始まり、ルートに info.json ファイルが含まれます。ただし、特定の新しい APKMirror ダウンロードでは、独自のインストーラー専用に設計されたカスタム暗号化ラッパー形式 (マジック ヘッダー 02 ...) が使用されます。当社のアナライザーは、ブラウザーのメモリ内でファイルの最初の 16 バイトを即座にチェックします。標準の ZIP ベースの .apkm の場合は、すべての分割を解凍するか、クリーンな .apks アーカイブをここでエクスポートし、そのアーカイブを ホームページ XAPK と分割 APK のマージ にドロップして、単一の v1+v2 署名付き .apk をコンパイルします。
APKM内部ファイル Android アプリ バンドル配信の目的 スタンドアロン インストールには必要ですか?
info.json パッケージ名、versioncode、min_api、およびターゲット ABI を記録する JSON メタデータ記述子 いいえ (メタデータのみ。APK マージ中に削除されます)
base.apk プライマリ DEX バイトコード (classes.dex、コア AndroidManifest.xml、およびベースライン リソース) はい (必須コアパッケージ)
split_config.arm64_v8a.apk 64 ビット ARM ネイティブ C/C++ 共有ライブラリ (lib/arm64-v8a/*.so) はい (最新の 64 ビット携帯電話では必須)
split_config.xxhdpi.apk 高密度 UI アイコン、ビットマップ、レイアウト ドローアブル (320dpi–640dpi) はい (ドローアブルの欠落によるクラッシュを防止)
split_config.en.apk ユーザーのシステム言語用にコンパイルされたローカライズされた文字列テーブル 推奨 (UI テキスト ラベルが適切にレンダリングされることを保証します)
Mst Shaefale による設計と文書化 リード開発者兼 Android パッケージ アーキテクト • Android 12 ~ 15 で検証済み

APKM Unpacker のすべてのファイル検査は、HTML5 ファイル API と JSZip を使用してブラウザーで 100% ローカルに実行されます。

APKM から APK へ — よくある質問

.apkm アーカイブを上記のアンパッカーにドロップして 標準の .APKS (ZIP) として再パッケージ化 をクリックするか、分割された APK を直接抽出します。その後、メイン XAPK および分割 APK コンバーター を使用してすべてのスプリットを 1 つのスタンドアロン署名付き APK にマージするか、オープンソース SAI (分割 APK インストーラー) 経由でインストールするか、生成された adb install-multiple コマンドを PC または Mac から実行することができます。

APKMirror からの一部の新しいダウンロードは、標準の PKZIP コンテナではなく、独自の暗号化ストリーム暗号でラップされています。バイナリ ヘッダー チェックで非 ZIP マジック バイトが検出された場合は、ブラウザで分割をマージする前に、SAI を使用してデバイスからインストールされているアプリを標準の分割バックアップに変換するか、オープンソースのデスクトップ CLI 復号化ツール (apkm2apk) を使用することができます。

はい。すべてがブラウザのメモリ内でローカルに実行されます。ファイルがサーバーにアップロードされたり、サーバーに保持されたりすることはありません。合法的に所有しているパッケージ、オープンソース リリース、または独自の開発ビルドのみを処理してください。