1. 程式人生 > >vue+cordova建立Hybird混合應用(二)----簽名(生成祕鑰)

vue+cordova建立Hybird混合應用(二)----簽名(生成祕鑰)

上一節中我們提到了怎麼打包出一個混合應用。那麼當我們打包後,就需要釋出了,釋出需要使用不同的key,那麼做這些key怎麼生成呢?

1.使用JDK中提供的keytool命令來生成一個簽名證書

當然當你使用這條命令的時候,請把keytool加入到環境變數中。
還有看到這些xxx了嗎?他們其實是你的包名,在我們建立應用時,會提示你命名。如果沒有及時命名,叫做Hello World也無所謂,可以改。不過,建議還是全部採用統一的名稱便於維護。

keytool -genkey -v -keystore XXXX.keystore -alias XXXX -keyalg RSA -validity
365

一般,我們會有一個專有的key資料夾,放在根目錄下,生成key的時候,可以用相對路徑,直接將keystore放在key資料夾下。

詳細命令參考:

注意:

生成祕鑰時的各種詳細資訊,應該有記錄,以便以後查詢。

舉例如下:


祕鑰口令87654321
密碼87654321
姓名:yueshenghu
組織單位名稱:
深圳航天智慧城市系統工程技術研究院
組織名稱:
中國航天
城市名:
shenzhen
省市自治區名稱:
guangzhou
國家、地區程式碼:
CN

同時,一旦簽名成功,請將祕鑰及時上傳到git倉庫上儲存,否則一旦祕鑰丟失會導致很多麻煩。

2.使用keytool生成的祕鑰,對我們的app簽名

如果使用build.json,這一步可以忽略。建議採用步驟“3”的方式。

當然,jarsigner 也是要加入到環境變數中。

jarsigner -keystore XXXX.keystore -digestalg SHA1 -sigalg MD5withRSA XXXX-release-unsigned.apk XXXX

3.生成打包描述檔案

新建一個檔案,檔名為build.json,放在根目錄下。

檔案具體內容,可以參考下面的內容。這個時候你會發現建立app時的別名有了作用。

{
  "android": {
    "debug": {
      "keystore
": "./key/daPengWater1.0.debug.keystore", "storePassword": "ascsdapeng0815", "alias": "daPengWater1.0.debug", "password" : "ascsdapeng0815", "keystoreType": "" }
, "release": { "keystore": "./key/daPengWater1.0.keystore", "storePassword": "ascsdapeng0815", "alias": "daPengWater1.0", "password" : "ascsdapeng0815", "keystoreType": "" } }
}