zipalign 是 ZIP 封存檔對齊工具。它可以確保封存中的所有未壓縮檔案都相對於檔案的開頭對齊。這樣就能透過 mmap(2)
直接存取這些檔案,不必複製 RAM 中的資料,並降低應用程式的記憶體用量。
在向使用者發布 APK 檔案前,應使用 zipalign 最佳化您的 APK 檔案。如果您是透過 Android Studio 建構,系統會自動完成這項操作。本說明文件的適用對象為自訂建構系統的維護者。
注意:您必須在應用程式建構程序中的兩個特定點中的一個點使用zipalign (視您使用的應用程式簽署工具而定):
透過更改 zip 「Local File Header」部分中的「extra」欄位的大小即可實現對齊。「extra」欄位中的現有資料可能會因這項程序而變更。
如要進一步瞭解如何在建構應用程式時使用 zipalign,請參閱「簽署應用程式」。
用量
如果您的 APK 含有共用資料庫 (.so
檔案),則應使用 -p
確保其與適合 mmap(2)
的 4KiB 頁面邊界對齊。至於其他檔案,可以透過 zipalign 的必要對齊引數來確定對齊,在 32 位元和 64 位元系統上 Studio 會與 4 個位元組對齊。
如要對齊 infile.apk
,請將其儲存為 outfile.apk
:
zipalign -p -f -v 4 infile.apk outfile.apk
如要確認 existing.apk
的對齊:
zipalign -c -v 4 existing.apk
您可以使用 zipalign -h
查看支援的完整標記組合。