ผู้ลงนาม APK

เครื่องมือลงนาม APK ออนไลน์ — วิธีลงนามไฟล์ APK ฟรี

คู่มือ ผู้ลงนาม APK ฉบับสมบูรณ์ — เรียนรู้วิธี ลงนามไฟล์ APK โดยใช้ apksigner, jarsigner หรือที่เก็บคีย์ดีบัก ฟรี บทช่วยสอนการลงนาม APK ทีละขั้นตอนสำหรับนักพัฒนาและผู้ทดสอบ ลงนาม APK โดยไม่มี Android Studio.

เหตุใดไฟล์ APK จึงต้องมีการลงนาม?

แอป Android ทุกแอปต้องมีการเซ็นชื่อแบบดิจิทัลก่อนจึงจะสามารถติดตั้งได้ ลายเซ็นมีจุดประสงค์หลายประการ:

  • ตรวจสอบตัวตนของนักพัฒนาแอป
  • ตรวจสอบให้แน่ใจว่า APK ไม่ได้ถูกดัดแปลง
  • อนุญาตให้ Android จับคู่การอัปเดตแอปกับเวอร์ชันดั้งเดิม
  • จำเป็นสำหรับการติดตั้งบนอุปกรณ์ Android ทั้งหมด

ต้องมีเครื่องมือเดสก์ท็อป

การลงนาม APK ต้องใช้เครื่องมือบรรทัดคำสั่ง (JDK / Android SDK) สิ่งนี้ไม่สามารถทำได้ในเว็บเบราว์เซอร์ ทำตามคำแนะนำด้านล่างเพื่อลงนาม APK บนคอมพิวเตอร์ของคุณ

วิธีที่ 1: ลงชื่อด้วย apksigner (แนะนำ)

apksigner เป็นเครื่องมือลงนาม APK อย่างเป็นทางการของ Google ซึ่งรวมอยู่ใน Android SDK Build Tools

ขั้นตอนที่ 1: สร้างที่เก็บคีย์

keytool -genkey -v -keystore my-release-key.jks \
  -keyalg RSA -keysize 2048 -validity 10000 \
  -alias my-key-alias

ขั้นตอนที่ 2: ลงนาม APK

apksigner sign --ks my-release-key.jks \
  --ks-key-alias my-key-alias \
  --out signed-app.apk unsigned-app.apk

ขั้นตอนที่ 3: ตรวจสอบลายเซ็น

apksigner verify --verbose signed-app.apk

วิธีที่ 2: ลงชื่อด้วย jarsigner (Legacy)

# Sign
jarsigner -verbose -sigalg SHA256withRSA \
  -digestalg SHA-256 \
  -keystore my-release-key.jks \
  app-unsigned.apk my-key-alias

# Verify
jarsigner -verify -verbose app-signed.apk

ขั้นตอนที่ 4: Zipalign (สำคัญ!)

หลังจากลงนามแล้ว ให้เพิ่มประสิทธิภาพ APK ด้วย zipalign:

zipalign -v 4 signed-app.apk aligned-app.apk

การลงนามการแก้ไขข้อบกพร่อง (สำหรับการทดสอบ)

เพื่อวัตถุประสงค์ในการทดสอบ คุณสามารถใช้ที่เก็บคีย์ดีบัก Android เริ่มต้นได้:

# Location of debug keystore:
# Linux/Mac: ~/.android/debug.keystore
# Windows: C:\Users\{USERNAME}\.android\debug.keystore

# Sign with debug key
apksigner sign --ks ~/.android/debug.keystore \
  --ks-key-alias androiddebugkey \
  --ks-pass pass:android \
  app.apk

การเปรียบเทียบเครื่องมือการลงนาม

เกณฑ์apksignerจาร์ซิกเนอร์
ลายเซ็น V1
ลายเซ็น V2
ลายเซ็น V3
ที่แนะนำมรดก

ผู้ลงนาม APK — คำถามที่พบบ่อย

คำถามทั่วไปเกี่ยวกับการลงนาม APK, ที่เก็บคีย์ และการลงนามโค้ด Android

สำหรับ ลงนามไฟล์ APK คุณต้องมี apksigner (แนะนำ) หรือ jarsigner: (1) สร้างที่เก็บคีย์โดยใช้ keytool -genkey (2) ลงนาม APK ด้วย apksigner sign --ks my-key.jks --out signed.apk unsigned.apk (3) ตรวจสอบลายเซ็นด้วย apksigner verify signed.apk คุณยังสามารถใช้ที่เก็บคีย์การดีบักของ Android เพื่อการทดสอบได้อีกด้วย นี่เป็นวิธีมาตรฐานสำหรับ ลงนาม APK โดยไม่มี Android Studio

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

V1 (การลงนาม JAR): รูปแบบการลงนาม Android ดั้งเดิม ตรวจสอบแต่ละรายการ ZIP ทีละรายการ ช้ากว่าแต่เข้ากันได้กับ Android ทุกรุ่นอย่างกว้างขวาง V2 (โครงการลายเซ็น APK): เปิดตัวใน Android 7.0 ตรวจสอบ APK ทั้งหมดโดยรวม ทำให้ติดตั้งได้รวดเร็วยิ่งขึ้น V3 (โครงการลายเซ็น APK v3): Android 9.0+ รองรับการหมุนคีย์ V4: Android 11.0+ เปิดใช้งานการติดตั้งการสตรีม ใช้ apksigner เพื่อรองรับโครงร่างทั้งหมด jarsigner รองรับเฉพาะ V1 เท่านั้น

ไปยัง ลงนาม APK โดยไม่มี Android Studio: (1) ติดตั้ง Java JDK 8 หรือสูงกว่า (2) ดาวน์โหลด Android SDK Build Tools ซึ่งมี apksigner หรือดาวน์โหลดเครื่องมือที่รวมมาแบบสแตนด์อโลน (3) สร้างที่เก็บคีย์: keytool -genkey -v -keystore my-key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias my-alias (4) ลงชื่อเข้าใช้: apksigner sign --ks my-key.jks --out signed.apk app.apk วิธีนี้ใช้ได้กับ Windows, Mac และ Linux โดยไม่ต้องติดตั้ง Android Studio เต็มรูปแบบ

ซิปไลน์ เป็นเครื่องมือ Android SDK ที่จัดแนวข้อมูลที่ไม่มีการบีบอัดภายใน APK บนขอบเขต 4 ไบต์ การเพิ่มประสิทธิภาพนี้จะช่วยลดการใช้ RAM เมื่อแอปทำงานบนอุปกรณ์ สำคัญ: หากใช้ apksigner ให้รัน zipalign ก่อนลงนาม หากใช้ jarsigner (ดั้งเดิม) ให้รัน zipalign หลังจากลงนาม คำสั่ง: zipalign -v 4 input.apk output.apk Google Play กำหนดให้ APK ต้องอยู่ในแนวซิปเพื่อส่ง

เหตุใดการจัดตำแหน่ง (zipalign ก่อน apksigner) จึงมีความสำคัญใน Android 11–15

หนึ่งในข้อผิดพลาดที่พบบ่อยที่สุดที่นักพัฒนาและ modder เกิดขึ้นเมื่อลงนาม APK ที่แก้ไขหรือรวมเข้าด้วยกัน คือ การเรียกใช้ zipalign หลังจาก ในการลงนามแพ็คเกจ หรือใช้ยูทิลิตี้ jarsigner ดั้งเดิมของ Java แทน Android SDK apksigner ของ Google เนื่องจาก APK Signature Scheme v2 และ v3 คำนวณแฮชที่เข้ารหัสบนรูปแบบไบนารีทั้งหมดของไฟล์ ZIP การแก้ไขการชดเชยไบต์ด้วย zipalign หลังจากการลงนามจะทำให้บล็อกลายเซ็น v2/v3 เป็นโมฆะทันที

ตั้งแต่ Android 11 (API ระดับ 30) เป็นต้นไป และบังคับใช้กับ Android 14 และ 15 อย่างเคร่งครัด PackageManager กำหนดให้มีเงื่อนไขที่ไม่สามารถต่อรองได้ 2 ข้อสำหรับ APK ใดๆ ที่กำหนดเป้าหมายระดับ SDK สมัยใหม่:

  • resources.arsc แบบ 4 ไบต์ที่ไม่มีการบีบอัด: ตารางทรัพยากรที่คอมไพล์แล้ว (resources.arsc) จะต้องจัดเก็บโดยไม่มีการบีบอัด (STORED) และจัดแนวบนขอบเขต 4 ไบต์เพื่อให้ Android สามารถแมปหน่วยความจำ (mmap) ได้โดยตรงโดยไม่ต้องคัดลอกลงใน RAM ดำเนินการลงนาม zipalign -p -f -v 4 input.apk aligned.apk ก่อน เสมอ
  • บล็อกลายเซ็นบังคับ v2+: การลงนาม APK ที่กำหนดเป้าหมาย API 30+ ด้วย jarsigner (ซึ่งเขียนเฉพาะลายเซ็น v1 META-INF/) จะทำให้ Android 11–15 ปฏิเสธการติดตั้งด้วย INSTALL_PARSE_FAILED_NO_CERTIFICATES ใช้ตัวสร้างคำสั่งแบบโต้ตอบด้านบนเพื่อสร้างคำสั่ง apksigner --v2-signing-enabled=true ที่แน่นอนสำหรับที่เก็บคีย์ของคุณ หรือตรวจสอบเอาต์พุตที่ลงนามของคุณใน เครื่องมือตรวจสอบลายเซ็น APK ของเรา
ออกแบบและจัดทำเอกสารโดย Mst Shaefale หัวหน้านักพัฒนาและสถาปนิกแพ็คเกจ Android • ตรวจสอบแล้วบน Android 12–15

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