วางไฟล์ .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.* เพื่อให้ผู้ติดตั้งโอเพ่นซอร์สและ การควบรวมกิจการ XAPK เป็น APK ของเราจดจำทุกโมดูล
- ตรวจจับชื่อแพ็คเกจอัตโนมัติจากชื่อไฟล์ OBB: หากคุณปล่อย main.104.com.company.title.obb ตัวสร้างจะแยก com.company.title และโค้ดเวอร์ชัน 104 โดยอัตโนมัติ
การอ้างอิงข้อกำหนด XAPK v2 และคู่มือการแปลง APK เป็น XAPK / APKS
ข้อมูลจำเพาะคอนเทนเนอร์ XAPK ใช้เฟรม DEFLATE ZIP มาตรฐานพร้อมไฟล์ manifest.json ระดับรูทบังคับที่เข้ารหัสใน UTF-8 โดยไม่มี BOM เพื่อรับประกันความเข้ากันได้กับตัวแยกแพ็กเดสก์ท็อป สคริปต์การปรับใช้ ADB และตัวติดตั้ง split-APK บันเดิล XAPK ต้องเป็นไปตามแบบแผนโครงสร้างเหล่านี้:
- APK แยกระดับรูท (split_apks): ไฟล์ .apk ทุกไฟล์ภายในบันเดิลจะถูกเก็บไว้ที่รากของไฟล์ ZIP โมดูลหลักต้องมี "id": "base" ในขณะที่สถาปัตยกรรม ความหนาแน่น และโมดูลโลแคลมี "id": "config.<qualifier>" (เช่น config.arm64_v8a หรือ config.xxhdpi)
- ลำดับชั้นสินทรัพย์ส่วนขยาย (expansions): แต่ละหยดส่วนขยาย .obb จะถูกจัดเก็บไว้ใน Android/obb/<package_name>/<filename>.obb ภายในโครงสร้าง ZIP และประกาศในอาร์เรย์ expansions พร้อมด้วย "install_location": "EXTERNAL_STORAGE" และ "install_path": "Android/obb/<package_name>/<filename>.obb"
- โปรแกรมติดตั้ง การคำนวณ total_size แบบไบต์ที่แม่นยำ: ตรวจสอบว่าจำนวนเต็ม total_size ใน manifest.json เท่ากับผลรวมที่แน่นอนของความยาวไบต์ที่ไม่มีการบีบอัดของไฟล์ .apk และ .obb ที่บรรจุแพ็กเกจทั้งหมด เพื่อให้อุปกรณ์สามารถตรวจสอบพื้นที่จัดเก็บข้อมูลแฟลชที่มีอยู่ล่วงหน้าก่อนที่จะแตกไฟล์ ตัวสร้างของเราจะคำนวณผลรวมไบต์นี้โดยอัตโนมัติ