เครื่องมือสำหรับนักพัฒนา

เครื่องมือแปลง AAB เป็น APK ออนไลน์ฟรี — แปลงชุดแอป AAB

เครื่องมือแปลง AAB เป็น APK ออนไลน์ฟรี — ตัวสร้างคำสั่งแบบโต้ตอบ, ตัวสำรวจไฟล์ AAB, วิซาร์ดการแปลงทีละขั้นตอน และคำแนะนำในการแก้ไขปัญหา ใช้งานได้กับ Windows, Mac และลินุกซ์

1. เลือกระบบปฏิบัติการของคุณ

2. เส้นทางไฟล์ AAB

3. เส้นทาง APK เอาท์พุต

4. การกำหนดค่าการลงนาม

5. ตัวเลือก

คำสั่งที่สร้างขึ้น


ข้อกำหนดเบื้องต้น

ติดตั้ง Java JDK 8+ แล้ว
ดาวน์โหลด Bundletool.jar แล้ว
Android SDK (เป็นทางเลือก สำหรับอุปกรณ์เฉพาะ)
ดาวน์โหลด Bundletool.dll

วางไฟล์ AAB เพื่อสำรวจ

ดูโครงสร้างภายในของไฟล์ AAB ใดๆ

รองรับไฟล์ .aab
1

ดาวน์โหลด Bundletool.dll

Bundletool คือเครื่องมืออย่างเป็นทางการของ Google สำหรับการดำเนินงาน AAB ดาวน์โหลดเวอร์ชันล่าสุดจาก GitHub

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

สร้าง APK จาก AAB

ใช้ 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

แยก APK จาก APKS

ไฟล์เอาต์พุต .apks เป็นไฟล์ ZIP แยก universal.apk ออกจากมัน

unzip app.apks -d output_dir/
5

ติดตั้งบนอุปกรณ์ (ไม่บังคับ)

ติดตั้ง APK ที่สร้างขึ้นโดยตรงไปยังอุปกรณ์ที่เชื่อมต่อ

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

Android App Bundle (AAB) เป็นรูปแบบการเผยแพร่สำหรับแอป Android บน Google Play ประกอบด้วยโค้ดและทรัพยากรที่คอมไพล์ทั้งหมด แต่เลื่อนการสร้าง APK ไปที่ Google Play ซึ่งสร้าง APK ที่ปรับให้เหมาะสมที่สุดสำหรับการกำหนดค่าอุปกรณ์แต่ละชิ้น

ไม่ การแปลง AAB เป็น APK ต้องใช้ 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 App Bundle (.aab) เป็นรูปแบบที่ Google Play ขอให้นักพัฒนาอัปโหลด แต่ไม่ใช่สิ่งที่คุณสามารถติดตั้งบนโทรศัพท์ได้ หากคุณมีไฟล์ .aab จากบิลด์เซิร์ฟเวอร์ ไปป์ไลน์ CI หรือเพื่อนร่วมงาน คุณต้องเปลี่ยนไฟล์นั้นเป็น .apk ที่สามารถติดตั้งได้ก่อน หน้านี้มีสองสิ่งสำหรับงานนั้น: ตัวสร้างคำสั่ง AAB ถึง APK แบบโต้ตอบที่เขียนคำสั่ง Bundletool ที่แน่นอนสำหรับระบบปฏิบัติการของคุณ และ โปรแกรมสำรวจไฟล์ AAB ที่เปิด Bundle ในเบราว์เซอร์ของคุณเพื่อให้คุณเห็นว่ามีอะไรอยู่ข้างในก่อนที่คุณจะแปลงมัน

การแปลงนั้นทำงานผ่าน bundletool อย่างเป็นทางการของ Google ซึ่งเป็นโปรแกรม Java เนื่องจาก Bundletool ต้องการรันไทม์ Java และการเข้าถึงที่เก็บคีย์ของคุณ ขั้นตอนการสร้างจริงจึงเกิดขึ้นบนเครื่องของคุณเอง ไม่ใช่บนเซิร์ฟเวอร์ของเรา ไฟล์ .aab ของคุณจะไม่ถูกอัปโหลดไปที่ใดเลย ตัวสร้างเพียงแค่ลบการคาดเดาออก เพื่อให้คุณสามารถคัดลอกคำสั่งที่ถูกต้องและพร้อมใช้งาน แทนที่จะจำชื่อแฟล็ก

AAB กับ APK: ทำไมคุณไม่สามารถเปลี่ยนชื่อไฟล์ได้

ผู้คนจำนวนมากค้นหาวิธีเปลี่ยน AAB เป็น APK โดยการเปลี่ยนชื่อส่วนขยาย และมันใช้งานไม่ได้ .apk เป็นแพ็คเกจเดียวที่ครบสมบูรณ์ในตัวเองซึ่ง Android สามารถติดตั้งได้โดยตรง .aab เป็นคอนเทนเนอร์การเผยแพร่ โดยจะเก็บโค้ดที่คอมไพล์และทรัพยากรของคุณแยกออกเป็นโมดูล และคาดว่า Google Play หรือ Bundletool จะสร้าง APK สุดท้ายที่ปรับให้เหมาะสมกับอุปกรณ์จากคอนเทนเนอร์นั้น การเปลี่ยนชื่อไฟล์จะไม่คลายแพ็กโมดูลเหล่านั้นหรือเซ็นชื่อใดๆ ดังนั้น Android จึงปฏิเสธที่จะติดตั้ง วิธีเดียวที่เชื่อถือได้ในการแปลง Android App Bundle เป็น APK คือให้ Bundletool สร้างชุด APK ให้กับคุณ

วิธีแปลง AAB เป็น APK บน Windows, Mac และ Linux

ขั้นตอนจะเหมือนกันในทุกแพลตฟอร์ม และมีเพียงรูปแบบเส้นทางของไฟล์เท่านั้นที่เปลี่ยนแปลง ซึ่งเป็นเหตุผลว่าทำไมตัวสร้างคำสั่งด้านบนจึงมีสวิตช์ Windows, macOS และ Linux นี่คือขั้นตอนทั้งหมดตั้งแต่ต้นจนจบ:

  1. ติดตั้ง Java JDK 8 หรือใหม่กว่า รัน java -version ในเทอร์มินัลเพื่อยืนยันว่า Java อยู่บน PATH ของคุณ
  2. ดาวน์โหลด Bundletool.dll รับ bundletool-all.jar ล่าสุดจากหน้าเผยแพร่ GitHub อย่างเป็นทางการของ Google
  3. สร้างชุด APK ชี้เครื่องมือบันเดิลไปที่บันเดิลของคุณและปล่อยให้มันสร้างไฟล์เก็บถาวร .apks: java -jar bundletool-all.jar build-apks --bundle=app.aab --output=app.apks --mode=universal
  4. เปิดไฟล์เก็บถาวร .apks มันเป็นเพียงไฟล์ ZIP ดังนั้นให้แตกไฟล์ออกมาแล้วคุณจะพบ universal.apk อยู่ข้างใน
  5. ติดตั้งบนอุปกรณ์ของคุณ คัดลอก APK ไปยังโทรศัพท์ของคุณแล้วไซด์โหลด หรือใช้ bundletool install-apks กับอุปกรณ์ที่เชื่อมต่อผ่าน USB

APK สากลกับ Split APK: คุณควรสร้างอันไหน

หากคุณต้องการไฟล์เดียวที่ติดตั้งบนโทรศัพท์เครื่องใดก็ได้ ให้ใช้ --mode=universal สิ่งนี้จะสร้าง APK สากลจาก AAB ของคุณ เดี่ยวที่รวมสถาปัตยกรรม CPU ทุกตัว ความหนาแน่นของหน้าจอ และภาษาไว้ในแพ็คเกจเดียว มันใหญ่กว่า แต่เป็นตัวเลือกที่ง่ายที่สุดสำหรับการทดสอบ เก็บถาวร หรือการแชร์บิลด์นอก Play Store หากคุณออกจากโหมดนี้ Bundletool จะสร้าง APK แยกที่ถูกตัดสำหรับอุปกรณ์ใดอุปกรณ์หนึ่งแทน เพื่อให้ดาวน์โหลดมีขนาดเล็กลง แต่คุณต้องติดตั้งชุดที่ตรงกันเข้าด้วยกัน สำหรับคนส่วนใหญ่ที่ต้องการแปลง .aab เพื่อการติดตั้งอย่างรวดเร็ว APK สากลคือตัวเลือกที่เหมาะสม

การลงนาม APK ที่คุณได้รับจาก AAB

Android จะไม่ติดตั้ง APK เว้นแต่จะมีการลงนาม สำหรับการทดสอบ Bundletool สามารถลงนามด้วยคีย์ดีบักโดยอัตโนมัติ ซึ่งเป็นสิ่งที่ตัวเลือก "ใช้ที่เก็บคีย์ดีบัก" ในเครื่องมือสร้างทำ หากคุณกำลังเตรียมบิลด์รีลีส เช่น เพื่อแจกจ่ายบนเว็บไซต์ของคุณเอง ให้เซ็นชื่อด้วยที่เก็บคีย์ของคุณเองโดยการกรอกพาธของที่เก็บคีย์ รหัสผ่านของที่เก็บคีย์ นามแฝงของคีย์ และฟิลด์รหัสผ่านของคีย์ จากนั้นตัวสร้างจะเพิ่มแฟล็ก --ks, --ks-pass, --ks-key-alias และ --key-pass เพื่อให้ APK ที่คุณได้รับมีลายเซ็นการผลิตจริงของคุณ แทนที่จะเป็นการดีบักแบบทิ้งไป

ข้อผิดพลาดทั่วไปของ Bundletool และวิธีการแก้ไข

ปัญหาสองข้อเกิดขึ้นซ้ำแล้วซ้ำเล่า ข้อความ "bundletool: ไม่พบคำสั่ง" หมายความว่าคุณพยายามเรียกใช้ Bundletool ราวกับว่าเป็นคำสั่งในตัว มันเป็นไฟล์ JAR ดังนั้นคุณจึงเรียกมันด้วย java -jar bundletool-all.jar เสมอ ข้อผิดพลาด "ไม่มีคีย์/ใบรับรอง" หมายความว่ารายละเอียดการลงนามหายไป: เพิ่ม --mode=universal สำหรับบิลด์ทดสอบที่ไม่ได้ลงนาม หรือระบุแฟล็กที่เก็บคีย์ของคุณตามที่อธิบายไว้ข้างต้น แท็บการแก้ไขปัญหาที่อยู่สูงขึ้นไปบนหน้าจะครอบคลุมสิ่งเหล่านี้มากขึ้นและ AAB Explorer ช่วยให้คุณยืนยันได้ว่าบันเดิลของคุณมีโมดูลที่คุณคาดหวังจริงๆ ก่อนที่คุณจะใช้เวลาในการดีบักคำสั่ง

เมื่อใดที่คุณจะต้องแปลง AAB จริง ๆ

สาเหตุปกติคือการทดสอบบิลด์ที่เผยแพร่บนอุปกรณ์จริงก่อนที่คุณจะเผยแพร่ มอบบิลด์ให้กับผู้ทดสอบที่ไม่ได้ใช้ Google Play เก็บสำเนาแอปของคุณเองที่สามารถติดตั้งได้ไว้เป็นหลักฐาน หรือการรัน QA บนฮาร์ดแวร์ที่การทดสอบภายในของ Play Store ไม่สามารถทำได้ ไม่ว่าจะด้วยเหตุผลใดก็ตาม ให้แปลงเฉพาะ App Bundle ที่คุณมีสิทธิ์ใช้ เช่น บิลด์ของคุณเองหรือ Bundle ที่คุณมีสิทธิ์ที่ชัดเจนในการทำงานด้วย

ออกแบบและจัดทำเอกสารโดย Mst Shaefale หัวหน้านักพัฒนาและสถาปนิกแพ็คเกจ Android • ตรวจสอบแล้วบน Android 12–15

ยูทิลิตี้ทุกตัวในชุดเครื่องมือ XAPK ถึง APK ทำงาน 100% ภายในเบราว์เซอร์ของคุณผ่าน JavaScript และ WebAssembly พบเคส Edge พร้อมแพ็คเกจเฉพาะหรือไม่? รายงานไปยังทีมวิศวกรของเรา