แยกไฟล์ APK จากแอพ Android ที่คุณติดตั้ง

A smartphone with app icons and a tray pulling out an app, illustrating extracting APKs

ประกาศทางกฎหมายและความปลอดภัย: บทความนี้มีวัตถุประสงค์เพื่อการศึกษาเท่านั้น การแยก APK ออกจากอุปกรณ์มีไว้สำหรับการสำรองข้อมูลส่วนบุคคลของแอปพลิเคชัน คุณได้ติดตั้งอย่างถูกกฎหมายบนอุปกรณ์ที่คุณเป็นเจ้าของแล้ว XAPK เป็น APK ไม่ได้โฮสต์ แจกจ่าย ลิงก์ไปยัง หรืออำนวยความสะดวกในการเข้าถึงแอปพลิเคชันที่มีลิขสิทธิ์ ชำระเงิน หรือละเมิดลิขสิทธิ์ ไม่อนุญาตให้เผยแพร่ APK ที่แยกออกมาของแอปที่ต้องชำระเงินหรือมีลิขสิทธิ์ซ้ำ ดู ข้อสงวนสิทธิ์ ของเราสำหรับข้อกำหนดทั้งหมด

คุณมีแอปที่น่าทึ่งในโทรศัพท์ซึ่งใช้เวลาตั้งค่าหลายชั่วโมง แต่กลับพบว่าแอปนั้นถูกลบออกจาก Play Store แล้ว หรือบางทีคุณอาจเปลี่ยนไปใช้อุปกรณ์ใหม่และต้องการสำเนาออฟไลน์ของเครื่องมือที่คุณชื่นชอบไว้เผื่อไว้ กำลังแตกไฟล์ APK จากแอปที่ติดตั้งอยู่ในปัจจุบันคือวิธีแก้ปัญหา

ด้านล่างนี้เราจะอธิบายขั้นตอนการดึง APK ออกจากโทรศัพท์ของคุณโดยไม่ต้องรูท ซึ่งมีประโยชน์สำหรับการสำรองข้อมูล และวิธีตรวจสอบไฟล์ที่แตกออกมาในภายหลังด้วย เครื่องมือวิเคราะห์ออนไลน์ ของเรา

ประเด็นสำคัญ

  • คุณสามารถแยกไฟล์ APK ของแอปได้เกือบทั้งหมดจากที่จัดเก็บข้อมูลภายในอุปกรณ์ของคุณ
  • แอปสมัยใหม่มักใช้ แยก APK ซึ่งต้องใช้โปรแกรมแยกข้อมูลแบบพิเศษ
  • โดยทั่วไปการเข้าถึงรูท (Superuser) คือ ไม่จำเป็น เพื่อสำรองแอปพลิเคชันมาตรฐาน
  • เมื่อแตกไฟล์แล้ว คุณสามารถถ่ายโอนไฟล์ไปยังการ์ด SD, PC หรือที่เก็บข้อมูลบนคลาวด์ได้

เหตุใดจึงต้องแยก APK

ก่อนที่จะข้ามไปที่ "วิธีการ" นี่คือเหตุผลที่คุณควรดูแลรักษาไลบรารีการสำรองข้อมูล APK:

วิธีที่ 1: การใช้แอป APK Extractor (ไม่มีการรูท)

วิธีที่ง่ายที่สุดคือการใช้ยูทิลิตี้เฉพาะ มีแอป "APK Extractor" มากมายใน Play Store เครื่องมือเหล่านี้ทำงานโดยการค้นหาเส้นทางการติดตั้งแอปใน /data/app/ (ซึ่งสามารถอ่านได้แต่โดยปกติจะซ่อนไว้) และคัดลอก base.apk ไปยังโฟลเดอร์ดาวน์โหลดสาธารณะของคุณ

ขั้นตอน:

  1. ติดตั้ง APK Extractor ที่มีชื่อเสียง
  2. เปิดแอปและให้สิทธิ์ "สิทธิ์ในการจัดเก็บ" หากมีการร้องขอ
  3. เลื่อนดูรายการแอปพลิเคชันที่ติดตั้งทั้งหมด
  4. แตะที่แอพที่คุณต้องการบันทึก
  5. เครื่องมือจะคัดลอก APK ไปยังที่จัดเก็บข้อมูลภายในของคุณทันที

การจัดการ Split APK

หากคุณแยกแอปที่ซับซ้อน เช่น Facebook หรือ WhatsApp คุณอาจพบไฟล์ .apk หลายไฟล์แทนที่จะเป็นไฟล์เดียว นี่คือ แยก APK หากต้องการใช้งาน คุณจะต้องมี เครื่องมือรวม APKS/APKM ของเราเพื่อรวมเป็นไฟล์เดียว

วิธีที่ 2: การแตกข้อมูลด้วยตนเองผ่าน ADB (ขั้นสูง)

หากคุณไม่ต้องการติดตั้งแอปเพิ่มเติมบนโทรศัพท์ของคุณ คุณสามารถใช้พีซีที่มี สะพานดีบัก Android (ADB):

  1. เชื่อมต่อโทรศัพท์ของคุณกับพีซีผ่าน USB และเปิดใช้งานการแก้ไขจุดบกพร่อง USB
  2. เปิดเทอร์มินัลแล้วพิมพ์: adb shell pm path com.example.app
  3. นี่จะแสดงเส้นทาง ตัวอย่าง: package:/data/app/com.example.app/base.apk
  4. ประเภท: adb pull /data/app/com.example.app/base.apk ./backup.apk
  5. ขณะนี้ไฟล์อยู่ในพีซีของคุณแล้ว!

สิ่งที่คุณได้รับจริง ๆ เมื่อคุณแตกไฟล์

แอป Android ที่ "ติดตั้ง" จะไม่จัดเก็บไว้ในอุปกรณ์เป็น APK เดียวอีกต่อไป โดยเฉพาะอย่างยิ่งหากมาจาก Play Store ในรูปแบบ Android App Bundle เมื่อคุณแตกไฟล์ คุณอาจได้รับไฟล์เดียวหรือหลายไฟล์ และการทราบถึงความแตกต่างจะช่วยให้คุณตัดสินใจว่าจะเก็บไฟล์ใด:

หากเป้าหมายของคุณคือการสำรองข้อมูลแบบพกพาที่จะติดตั้งบนอุปกรณ์อื่น คุณมักจะต้องการ (ก) "APK สากล" ที่ผสานกันซึ่งสร้างด้วย การรวม APKS เป็น APK ของเรา หรือ (ข) การแยกไฟล์ทั้งหมดถูกเก็บถาวรไว้ด้วยกัน เพื่อให้ตัวติดตั้ง Split-APK เช่น SAI สามารถกู้คืนไฟล์เหล่านั้นเป็นหน่วยได้

วิธีการทำงานของการสกัด (ไม่มีการรูท เบื้องหลัง)

แอพ "APK extractor" ส่วนใหญ่ไม่จำเป็นต้องรูทจริงๆ เพราะ Android เปิดเผยไฟล์แพ็คเกจที่ติดตั้งผ่านพาธการอ่านระดับระบบ การไหลมาตรฐานคือ:

  1. แอปแยกไฟล์เรียก PackageManager.getPackageInfo(package, ...) เพื่อรับรายการแอปที่ติดตั้ง
  2. สำหรับแอปที่เลือก แอปจะอ่าน ApplicationInfo.sourceDir (เส้นทางของ APK พื้นฐาน โดยทั่วไปคือ /data/app/<package>-<hash>/base.apk) และ splitSourceDirs (เส้นทางของการแยกการกำหนดค่าใดๆ)
  3. ตัวแยกข้อมูลที่ผู้ใช้ติดตั้งไม่สามารถอ่านเส้นทางเหล่านี้ได้โดยตรง แต่กลไก FileProvider ใน Android ช่วยให้ส่วนประกอบของระบบให้สิทธิ์การเข้าถึงการอ่านชั่วคราวไปยัง URI ที่เฉพาะเจาะจง OS ทำ อนุญาตให้แอปใด ๆ เปิด APK ของ เป็นเจ้าของ และ APK ของแอปอื่น ๆ โดย URI; นี่เป็นการกระทำโดยเจตนา เนื่องจากเส้นทางการติดตั้งมีไว้เพื่อให้โลกสามารถอ่านได้เสมอสำหรับงานต่างๆ เช่น การถอนการติดตั้งและการอัปเดต
  4. ตัวแยกจะคัดลอกไบต์ไปยังไดเร็กทอรีผู้ใช้ที่เขียนได้ (ดาวน์โหลด โฟลเดอร์แคชในแอป หรือที่จัดเก็บข้อมูลภายนอก) และนำเสนอเป็นไฟล์ที่จะแชร์หรือติดตั้ง

วิธีการรูทเท่านั้น (su; cp /data/app/...) ข้าม API และอ่านเส้นทางดิบโดยตรง ไม่เร็วขึ้นและไม่จำเป็นสำหรับแอปที่ไม่ใช่ระบบ

แยกข้อมูลผ่าน ADB (แนะนำสำหรับการสำรองข้อมูล)

ขั้นตอนการทำงานที่ไม่ใช่แอปที่ชัดเจนที่สุดคือ ADB ซึ่งนักพัฒนาส่วนใหญ่ได้ตั้งค่าไว้แล้ว สองคำสั่งทำหน้าที่ทั้งหมด:

# 1. Find the on-device path(s) for the package
adb shell pm path com.example.app

# Output (single APK):
#   package:/data/app/~~hash==/com.example.app-1/base.apk
#
# Output (split APKs):
#   package:/data/app/~~hash==/com.example.app-1/base.apk
#   package:/data/app/~~hash==/com.example.app-1/split_config.arm64_v8a.apk
#   package:/data/app/~~hash==/com.example.app-1/split_config.xxhdpi.apk
#   package:/data/app/~~hash==/com.example.app-1/split_config.en.apk

# 2. Pull each path
adb pull /data/app/~~hash==/com.example.app-1/base.apk ./

สำหรับแอปแยก APK ให้ทำซ้ำ adb pull สำหรับแต่ละเส้นทาง หากต้องการรับไฟล์เดียวที่สามารถติดตั้งได้ ให้วางไฟล์ทั้งหมดลงใน การรวม APKS เป็น APK ของเรา

สิ่งที่ไม่สามารถสกัดออกมาได้

การแตกไฟล์จะส่งคืนไฟล์การติดตั้งของแอปพลิเคชัน มันส่งคืน ไม่:

ดังนั้นการแยกข้อมูลจึงดีสำหรับกรณีการใช้งาน "ฉันต้องการสำเนาของตัวติดตั้งเพื่อเก็บไว้" แต่ไม่สามารถทดแทนการสำรองข้อมูลอุปกรณ์แบบเต็มที่เหมาะสมได้ (ซึ่งต้องใช้เครื่องมือรูทหรือผู้จำหน่าย)

วิเคราะห์ APK ที่แยกออกมาของคุณ

เมื่อคุณสำรองข้อมูลแอปของคุณแล้ว ให้ใช้ชุดออนไลน์ของเราเพื่อตรวจสอบข้อมูลเมตา ไอคอน และการอนุญาต

เริ่มการวิเคราะห์ APK

คำถามที่พบบ่อย (FAQ)

การแตกแอพมีข้อมูลการเข้าสู่ระบบของฉันด้วยหรือไม่?

ไม่ การแตกไฟล์จะคัดลอกเฉพาะ รหัสแอปพลิเคชันและทรัพยากร เท่านั้น ไม่รวมข้อมูลบัญชีส่วนตัว รหัสผ่าน หรือการตั้งค่าของคุณด้วยเหตุผลด้านความปลอดภัย

ฉันสามารถแยกแอประบบเช่น YouTube ได้หรือไม่

ใช่. อย่างไรก็ตาม แอพระบบบางตัวอาจมีการพึ่งพาเชิงลึกกับระบบปฏิบัติการเวอร์ชันเฉพาะ และอาจติดตั้งไม่ถูกต้องบนอุปกรณ์อื่น

APK ที่แยกออกมาจะไปอยู่ที่ไหน?

แอปแยกไฟล์ส่วนใหญ่จะบันทึกไฟล์ลงในโฟลเดอร์ชื่อ APK ที่แยกออกมา หรือ ดาวน์โหลด ในที่เก็บข้อมูลภายในของโทรศัพท์ของคุณ

การสำรองแอพที่ติดตั้งไว้โดยไม่สูญเสียการกำหนดค่าแบบแยกส่วน

การสร้างพื้นที่เก็บข้อมูลแอปในเครื่องของคุณเองเป็นวิธีที่แน่นอนที่สุดที่จะไม่สูญเสียการเข้าถึงเครื่องมือที่คุณชื่นชอบ แอพที่ใช้งานง่ายและเทอร์มินัล ADB ช่วยให้คุณไปถึงจุดนั้นได้ และไม่ว่าจะด้วยวิธีใด กำลังแตกไฟล์ APK ก็เป็นวิธีที่ปลอดภัยและใช้งานได้จริงในการจัดการอุปกรณ์ Android ของคุณ หลังจากที่คุณสำรองข้อมูลไลบรารีของคุณแล้ว ให้ใช้เวลาสักครู่ไปที่ ตรวจสอบลายเซ็น ของข้อมูลสำรองเหล่านั้น เพื่อให้คุณรู้ว่าข้อมูลสำรองเหล่านั้นจะไม่ถูกแก้ไขเมื่อเวลาผ่านไป

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

Mst Shaefale ดูแลการควบรวมกิจการ XAPK/APKS ฝั่งไคลเอ็นต์, ตัวแยกวิเคราะห์รายการไบนารี และเครื่องมือลงนาม APK v1+v2 ที่ xapktoapk.com พบคำสั่งที่ล้าสมัยหรือการเปลี่ยนแปลงระบบปฏิบัติการหรือไม่ ส่งบันทึกบรรณาธิการ