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文件夹下。

详细命令参考:

http://www.cnblogs.com/kungfupanda/archive/2010/09/01/1815047.html

注意:

生成秘钥时的各种详细信息,应该有记录,以便以后查询。

举例如下:

秘钥口令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": "" } } }
相关文章
相关标签/搜索