Sự khác biệt giữa app-debug.apk và app-debug-unaligned.apk


113

Trong studio android với biến thể bản dựng được đặt thành chế độ "gỡ lỗi", tôi đã tìm thấy hai đầu ra của apk

  • app-debug.apk
  • app-debug-unaligned.apk

Sự khác biệt giữa các tệp đó là gì?

Câu trả lời:


113

Apk không dấu chỉ là một apk trung gian. Đầu tiên, apk không dấu được tạo. Sau đó, apk không được căn chỉnh sẽ được căn chỉnh và tạo ra apk được căn chỉnh là app-debug.apk. Bạn có thể đọc thêm về nó ở đây .


75

Câu trả lời ngắn:

app-debug-unaligned.apk= APK chưa ký đã ký
app-debug.apk= APK đã ký đã căn chỉnh (RAM được tối ưu hóa bằng cách sử dụng zipalign)


Câu trả lời dài

Để hiểu được sự khác biệt, chúng ta cần biết những điểm sau:

Quy trình ký ứng dụng

  • tạo khóa cá nhân (keytool)
  • biên dịch để nhận APK chưa ký -> APK chưa ký chưa ký
  • Đăng nhập ứng dụng ở chế độ gỡ lỗi / phát hành bằng khóa riêng tư (jarigner) -> APK chưa ký đã ký
  • căn chỉnh APK (zipalign) -> căn chỉnh APK đã ký

Toàn bộ quá trình ký kết được giải thích ở đây .

Tại sao chúng ta cần trung gian app-debug-unaligned.apk?

theo tài liệu :

Thận trọng: zipalign chỉ được thực hiện sau khi tệp .apk đã được ký bằng khóa cá nhân của bạn. Nếu bạn thực hiện căn chỉnh zipalign trước khi ký, thì quy trình ký sẽ hoàn tác việc căn chỉnh.

Ưu điểm là gì? zipalign?

Ưu điểm là các APK được căn chỉnh được tối ưu hóa cho việc sử dụng RAM nên chúng sẽ tiêu tốn ít RAM hơn trong các thiết bị. Từ các tài liệu :

zipalign là một công cụ căn chỉnh lưu trữ cung cấp sự tối ưu hóa quan trọng cho các tệp ứng dụng Android (.apk). .... Lợi ích là giảm lượng RAM tiêu thụ khi chạy ứng dụng.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.