เหตุใดจำเป็นต้องใช้ apk ที่ไม่ได้จัดแนว


151

Android gradle สร้าง apk ในสองไบนารี: ไม่ตรงแนวและจัดแนว

เอกสารกล่าวว่า ...

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

ดูเหมือนว่า apk ที่สอดคล้องกันจะแนะนำให้กระจาย สำหรับฉันฉันใช้apk ที่ปรับตำแหน่งเท่านั้นเป็นผลิตภัณฑ์ผลลัพธ์และละเว้นapk ที่ไม่ได้จัดแนว

apk ที่ไม่ตรงแนวมีการใช้งานพิเศษระหว่างการพัฒนาหรือไม่?

คำตอบ:


197

มันเป็นกระบวนการสองขั้นตอน apk ที่ไม่ได้จัดแนวนั้นเป็นเพียงผลิตภัณฑ์ระดับกลาง

  1. apk ที่ไม่ตรงแนวถูกสร้างขึ้น
  2. ไม่ได้จัดแนวจะได้รับการจัดตำแหน่งและสร้าง apk ที่จัดตำแหน่ง

3
ขอบคุณสำหรับการตอบกลับอย่างรวดเร็ว ดังนั้นเราสามารถพูดได้ว่า apk ที่ไม่ได้จัดแนวนั้นเป็นเพียงสิ่งชั่วคราว?
ยองแจ

1
ขวา. IDE บางตัวสร้างมันเป็นผลิตภัณฑ์สุดท้ายสำหรับบิลด์ debug เพื่อเร่งกระบวนการบิลด์
flx

2
Unalign apk file ช่วยแก้ปัญหาแอปพลิเคชันหรือไม่ ขอบคุณ :)
hqt

11
ไม่มันไม่ มันเป็นเนื้อหาเดียวกันกับไฟล์ zip ที่จัดเรียงเฉพาะขอบเขตไฟล์ที่ไม่จัดแนวกับบล็อก 4b
flx

49

จำเป็นต้องใช้ APK (ลงชื่อ) ที่ไม่ได้ลงชื่อเนื่องจากการลงชื่อ apk ที่จัดแนวจะยกเลิกการจัดตำแหน่ง

จากเอกสาร :

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

ดูคำตอบนี้มากขึ้น นี่คือกระบวนการสร้างรายละเอียด: ป้อนคำอธิบายรูปภาพที่นี่

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