ความแตกต่างระหว่าง app-debug.apk และ app-debug-unaligned.apk


113

ในสตูดิโอ Android ที่ตั้งค่าตัวแปรบิวด์เป็นโหมด "ดีบัก" ฉันพบเอาท์พุต apk สองรายการ

  • แอปพลิเค debug.apk
  • แอปพลิเคแก้ปัญหา-unaligned.apk

อะไรคือความแตกต่างระหว่างไฟล์เหล่านั้น?

คำตอบ:


113

apk ที่ไม่ตรงแนวเป็นเพียง APK ระดับกลาง ขั้นแรก apk ที่ไม่ตรงแนวจะถูกสร้างขึ้น จากนั้น apk ที่ไม่ตรงแนวจะถูกจัดแนวและสร้าง apk ที่สอดคล้องกันซึ่งก็คือ app-debug.apk คุณสามารถอ่านเพิ่มเติมเกี่ยวกับมันมากกว่าที่นี่


75

คำตอบสั้น ๆ :

app-debug-unaligned.apk= APK ที่ลงนาม
app-debug.apkไม่ตรงแนว = APK ที่มีลายเซ็น (RAM ปรับให้เหมาะสมโดยใช้ zipalign)


คำตอบยาว

เพื่อให้เข้าใจถึงความแตกต่างเราจำเป็นต้องทราบประเด็นต่อไปนี้:

ขั้นตอนการลงนามแอป

  • สร้างคีย์ส่วนตัว(keytool)
  • คอมไพล์เพื่อรับ APK ที่ไม่ได้ลงชื่อ -> APK ที่ไม่ได้ลงนามที่ไม่ได้ลงนาม
  • ลงชื่อแอปในโหมดดีบัก / รีลีสโดยใช้คีย์ส่วนตัว(jarsigner) -> APK ที่ลงชื่อไม่ตรงแนว
  • จัดแนว APK (zipalign) -> APK ที่ลงนามในแนวเดียวกัน

ขั้นตอนการลงนามทั้งจะมีการอธิบายที่นี่

ทำไมเราถึงต้องการคนกลางapp-debug-unaligned.apkด้วย?

ตามเอกสาร :

ข้อควรระวัง: zipalign ต้องดำเนินการหลังจากที่ไฟล์. apk ได้รับการเซ็นชื่อด้วยคีย์ส่วนตัวของคุณแล้วเท่านั้น หากคุณดำเนินการ zipalign ก่อนเซ็นชื่อขั้นตอนการลงนามจะยกเลิกการจัดตำแหน่ง

ข้อดีคืออะไร? zipalign?

ข้อดีคือ APK ที่จัดแนวได้รับการปรับให้เหมาะสมกับการใช้งาน RAM ดังนั้นจึงใช้ RAM ในอุปกรณ์น้อยลง จากเอกสาร :

zipalign เป็นเครื่องมือจัดตำแหน่งไฟล์เก็บถาวรที่ให้การเพิ่มประสิทธิภาพที่สำคัญสำหรับไฟล์แอปพลิเคชัน Android (.apk) .... ประโยชน์คือการลดจำนวน RAM ที่ใช้เมื่อเรียกใช้แอปพลิเคชัน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.