APK 簽名。 APK 都必須經過數字簽名后才能安裝到設備上,簽名需要對應的證書(keystore),大部分情況下 APK 都采用的自簽名證書,就是自己生成證書然后給應用簽名。
數字簽名證書是給APK打包所必需的文件,所以我們先要把數字簽名證書生成。在命令提示符下輸入 keytool -genkey -v -keystore D:\mytest.keystore-alias mytest -keyalg RSA -validity 20000
-keystore D:\Users\Administrator\Desktop\mytest.keystore表示生成的證書及其存放路徑,如果直接寫文件名則默認生成在用戶主目錄下;
-alias mytest 表示證書的別名是mytest;
-keyalg RSA 表示采用的RSA算法;
-validity 20000表示證書的有效期是20000天。
根據指令輸入密鑰庫口令,是不可見的。
依次輸入下面的問題。最后到【否】那里時輸入y
再輸入密鑰口令(可以與密鑰庫口令相同),如果相同,直接回車,記住這兩個口令,后面簽名會使用到。
這時便會生成一個文件mytest.keystore,就是我們需要的簽名文件。
生成帶簽名的apk有兩種方式,一種先生成未簽名debug版本,再加上數字簽名證書然后生成帶簽名的APK。另外一種就是直接一條命令生成帶簽名的APK。
第一種,先生成未簽名的debug版本的apk
即首先直接cordova build android --release, 然后會生成一個android-release-unsigned.apk。把數字簽名放到生成的未簽名的apk所在的目錄下,輸入以下命令:
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore mytest.keystore android-release-unsigned.apk cordova-demo
這時的apk就會是一個已經簽名的apk了,修改一下名字即可直接放到設備上安裝。
第二種,直接生成帶簽名的apk
有了數字簽名之后,數字簽名需要放在cordova項目根目錄下或者可以修改下面指令的keystore里的路徑可以直接在cordova build 中指定所有參數來快速打包,這會直接生成一個android-release.apk(已經是帶簽名的了)給你
cordova build android --release -- --keystore="mytest.keystore" --alias=cordova-demo --storePassword=testing --password=testing1
keystore 后面是數字簽名證書, --alias 后面是別名 storePassword 后面是密鑰庫口令 password 后面是密鑰口令
但每次輸入命令行參數是很重復的,Cordova 允許我們建立一個 build.json 配置文件來簡化操作。
文件內容如下
{
"android": {
"release": {
"keystore": "release-key.keystore",
"alias": "cordova-demo",
"storePassword": "testing",
"password": "testing2"
}
}
}
但下面的兩個密碼建議不要寫到里面去,可以去掉然后手動輸入。
直接使用cordova build --release就可以生成帶簽名的apk了 注意-----------指令后面沒有android