APK在對外發(fā)布到應用市場時,需要上傳帶密鑰簽名的release版apk才行。下面就來介紹一下打包簽名APK的兩種方法。
1. 生成簽名文件
2. 生成APK文件
-
工具簽名打包
1)在 Build 菜單中選擇 Generate Signed Bundle / APK...柿汛;
image
2)選擇 APK,點擊 Next 下一步埠对;
Android App Bundle:用于通過 Google Play 發(fā)布的應用络断,需要升級到AS 3.2 以上版本才支持App Bundle格式;
APK:用于創(chuàng)建可部署到設備上的簽名APK项玛;
image
3)點擊 Choose existing... 選擇密鑰庫文件位置貌笨,填寫正確的鑰匙庫密碼和密鑰密碼,點擊 Next 下一步襟沮;
Key store path:密鑰庫文件路徑锥惋;
Key store Password:密鑰庫密碼昌腰;
Key Alias:密鑰別稱;
Key Password:密鑰密碼膀跌;
image
4)選擇簽名 APK輸出位置遭商,以及 APK簽名版本類型,勾選 V1(Jar Signature) 和 V2(Full APK Signature)捅伤,點擊 Finish 等待打包簽名完成株婴;
debug:是測試版,包含調(diào)試和日志信息暑认,沒有進行優(yōu)化加密,適合程序調(diào)試使用大审;
release:是發(fā)布版蘸际,對外發(fā)布供用戶使用,進行了優(yōu)化加密處理徒扶;
V1 和 V2 兩者區(qū)別:
V1(Jar Signature):僅驗證未解壓的文件內(nèi)容粮彤,這樣APK 簽署后可進行許多修改 ,可以移動甚至重新壓縮文件姜骡;
V2(Full APK Signature):驗證壓縮文件的所有字節(jié)导坟,而不是單個 ZIP 條目。在簽名后無法再更改圈澈。所以現(xiàn)在在編譯過程中惫周,我們將壓縮、調(diào)整和簽署合并成一步完成康栈。
V1 和 V2 使用總結:打包簽名時只勾選V1簽名并不會影響什么递递,但是在7.0及以上不會使用更安全的驗證方式;
只勾選V2簽名7.0以下安裝會直接顯示未安裝啥么,7.0及以上則使用V2的方式驗證登舞;
同時勾選V1和V2則所有機型都沒問題。
5)打包完成后悬荣,會在我們設置的輸出路徑下看到打包簽名后的apk包菠秒,.../release/app-release.apk和output.json。
- Gradle簽名打包
1)打包簽名配置:
詳細配置方法請移駕 —— 《Android Studio打包簽名配置方法》
2)執(zhí)行打包命令:
方法一:
打開右側Gradle氯迂,找到 Project -> Tasks -> build -> assemble 雙擊運行践叠,開始編譯打包簽名;
assemble囚戚,同時生成debug和release模式的apk包酵熙;
assembleDebug,生成debug模式的apk包驰坊;
assembleRelease匾二,生成release模式的apk包
方法二:
在Terminal窗口執(zhí)行打包命令;
release打包的命令:
gradlew assembleRelease
debug打包的命令:
gradlew assembleDebug
release 和 debug打包的命令:
gradlew assemble
3)打包完成,在項目下app/build/outputs/apk/查看debug或者release安裝包察藐。