將 .APK 和 .OBB 檔案拖放到此處
選擇一個或多個 .apk 分割和可選的 .obb 擴充文件
支援多個檔案 • 自動產生 XAPK v2 manifest.json為什麼要將 APK + OBB 打包到 XAPK 容器中?
當分發大型 Android 版本、QA 測試版本或包含單獨 main.<ver>.<pkg>.obb 資產存檔或模組化 ABI 拆分的個人備份時,發送多個鬆散檔案會導致使用者放錯 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 / APKS 轉換指南
XAPK 容器規格使用標準 DEFLATE ZIP 框架,以及以 UTF-8(無 BOM)編碼的強制根級 manifest.json 檔案。為了確保桌面解包程式、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 內,並在 expansions 陣列中使用 "install_location": "EXTERNAL_STORAGE" 和 "install_path": "Android/obb/<package_name>/<filename>.obb" 進行宣告。
- 位元組精確的 total_size 計算: 安裝程式驗證 manifest.json 中的 total_size 整數是否等於所有打包的 .apk 和 .obb 檔案的未壓縮位元組長度的精確總和,以便裝置可以在提取之前預先檢查可用的快閃記憶體儲存。我們的建構器會自動計算這個精確的位元組總和。