.APK および .OBB ファイルをここにドロップします
1 つ以上の .apk 分割とオプションの .obb 拡張ファイルを選択します
複数のファイルをサポート • XAPK v2のmanifest.jsonを自動生成APK + OBB を XAPK コンテナにパッケージ化する理由
個別の main.<ver>.<pkg>.obb アセット アーカイブやモジュラー ABI 分割を含む大規模な Android ビルド、QA テスト リリース、または個人バックアップを配布する場合、複数のルース ファイルを送信すると、ユーザーが OBB フォルダーを置き忘れる原因になります。それらを単一の .xapk バンドルにパッケージ化すると、これはきれいに解決されます。
- 自動 OBB パス ルーティング: すべての .obb ファイルを Android/obb/<package_name>/ 内に配置し、正確な install_location: "EXTERNAL_STORAGE" ルールを manifest.json に書き込みます。
- 自動分割 ID 割り当て: base と config.* の分割識別子を割り当て、オープンソース インストーラーと XAPKS から APK へのマージ がすべてのモジュールを認識できるようにします。
- OBB ファイル名からパッケージ名を自動検出: main.104.com.company.title.obb をドロップすると、ビルダーは自動的に com.company.title とバージョン コード 104 を抽出します。
XAPK 仕様 v2 リファレンスおよび APK から XAPK / APK への変換ガイド
XAPK コンテナ仕様では、BOM なしの UTF-8 でエンコードされた必須のルートレベル manifest.json ファイルを使用した標準の DEFLATE ZIP フレームが使用されます。デスクトップ アンパッカー、ADB デプロイメント スクリプト、分割 APK インストーラー間の互換性を保証するには、XAPK バンドルは次の構造上の規則に従う必要があります。
- ルートレベルの分割 APK (split_apks): バンドル内のすべての .apk ファイルは、ZIP アーカイブのルートに保存されます。プライマリ モジュールは "id": "base" を保持する必要がありますが、アーキテクチャ、密度、およびロケール モジュールは "id": "config.<qualifier>" (たとえば、config.arm64_v8a または config.xxhdpi) を保持します。
- 拡張資産階層 (expansions): 各 .obb 拡張 BLOB は ZIP ツリー内の Android/obb/<package_name>/<filename>.obb 内に格納され、"install_location": "EXTERNAL_STORAGE" および "install_path": "Android/obb/<package_name>/<filename>.obb" を使用して expansions 配列で宣言されます。
- バイト精度の total_size 計算: インストーラーは、manifest.json 内の total_size 整数が、パッケージ化されたすべての .apk および .obb ファイルの非圧縮バイト長の正確な合計に等しいことを検証するため、デバイスは抽出前に利用可能なフラッシュ ストレージを事前に確認できます。私たちのビルダーは、この正確なバイト合計を自動的に計算します。