Quy trình tự động:
Sử dụng công cụ này (sử dụng apksigner mới của Google):
https://github.com/patrickfav/uber-apk-signer
Tuyên bố từ chối trách nhiệm: Tôi là nhà phát triển :)
Quy trình thủ công:
Bước 1: Tạo Kho khóa (chỉ một lần)
Bạn cần tạo một kho khóa một lần và sử dụng nó để ký gói unsigned
ứng dụng của mình . Sử dụng cung cấp bởi JDK được tìm thấy trongkeytool
%JAVA_HOME%/bin/
keytool -genkey -v -keystore my.keystore -keyalg RSA -keysize 2048 -validity 10000 -alias app
Bước 2 hoặc 4: Zipalign
zipalign
là một công cụ được cung cấp bởi SDK Android, ví dụ, %ANDROID_HOME%/sdk/build-tools/24.0.2/
là bước tối ưu hóa bắt buộc nếu bạn muốn tải gói ứng dụng lên Cửa hàng Play.
zipalign -p 4 my.apk my-aligned.apk
Lưu ý: khi sử dụng cái cũ jarsigner
bạn cần zipalign SAU KHI ký. Khi sử dụng apksigner
phương pháp mới, bạn thực hiện TRƯỚC KHI ký (khó hiểu, tôi biết). Gọi zipalign trước khi apksigner hoạt động tốt vì apksigner duy trì tính năng căn chỉnh và nén APK (không giống như jarigner).
Bạn có thể xác minh sự liên kết với
zipalign -c 4 my-aligned.apk
Bước 3: Ký & Xác minh
Sử dụng công cụ xây dựng 24.0.2 trở lên
Sử dụng jarsigner
cái mà, như keytool, đi kèm với bản phân phối JDK được tìm thấy trong %JAVA_HOME%/bin/
và sử dụng nó như vậy:
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore my.keystore my-app.apk my_alias_name
và có thể được xác minh bằng
jarsigner -verify -verbose my_application.apk
Sử dụng công cụ xây dựng 24.0.3 và mới hơn
Android 7.0 giới thiệu APK Signature Scheme v2, một sơ đồ ký ứng dụng mới cung cấp thời gian cài đặt ứng dụng nhanh hơn và bảo vệ nhiều hơn chống lại các thay đổi trái phép đối với tệp APK (Xem tại đây và tại đây để biết thêm chi tiết). Do đó, Google đã triển khai trình ký apk của riêng họ được gọi làapksigner
(duh!) Tệp script có thể được tìm thấy trong %ANDROID_HOME%/sdk/build-tools/24.0.3/
(.jar nằm trong /lib
thư mục con). Sử dụng nó như thế này
apksigner sign --ks my.keystore my-app.apk --ks-key-alias alias_name
và có thể được xác minh bằng
apksigner verify my-app.apk
Tài liệu chính thức có thể được tìm thấy ở đây.