Android app 的打包分為 debug 和 release 兩種,后者是用來發(fā)布到應(yīng)用商店的版本。這篇文章會告訴你 Cordova 如何打包 Android release 版本,也會讓你了解 Android app 的打包流程。
本文使用的是cordova打包方式,cordova版本是9.0.0,使用的cordova-android版本是7.0.0
使用方法:
1、生成簽名證書release-key.keystore:
在項(xiàng)目根目錄運(yùn)行cmd: keytool -genkey -v -keystore release-key.keystore -alias webApp -keyalg RSA -keysize 2048 -validity 10000
參數(shù)含義:
-keystore D:\mytest.keystore : 表示生成的證書及其存放路徑(本例是直接在項(xiàng)目根目錄運(yùn)行,不加路徑默認(rèn)就是存在項(xiàng)目根目錄)
-alias webApp: 表示這個證書的別名
-keyalg RSA : 表示采用的RSA算法
-validity 20000 : 表示證書的有效期是10000天
運(yùn)行命令后按提示要求輸入信息,過程會要求設(shè)置密碼口令,請記住后面會用到

2、生成android安裝包
在項(xiàng)目根目錄cmd輸入:cordova build android --release
這個安裝包, 已經(jīng)是一個release版本的安裝包了, 接下來的事情, 即是咱們把它進(jìn)行一個簽名過程。
3、對安裝包進(jìn)行簽名
cmd進(jìn)入到D:\myFolder\webapps\giteeProject\webApp\platforms\android\app\build\outputs\apk\release
然后把release-key.keystore文件也放到此處
接著執(zhí)行下面命令
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore release-key.keystore app-release-unsigned.apk webApp
這過程中會要求輸入密碼,就是步驟1設(shè)置的密碼,webApp就是步驟1的-alias別名

此時已經(jīng)完成了簽名,雖然名稱仍是一個未簽名的安裝包, 但其實(shí)已經(jīng)更改了, 是已經(jīng)簽名過了的.