前言

一般打包号的软件只是测试版本,即不能发布到应用商店里的,

而经过签名后的软件,才能发布到各大应用平台商店供他人下载使用。

不仅如此,签名后的软件可得到的权限保证也更高,比如位置定位。

项目准备

一般Cordova创建项目目录如下:

添加Android平台

1
cordova platforms add android //添加Android平台

生成签名

为当前项目创建签名文件

1
keytool -genkeypair -alias name.keystore -keyalg RSA -validity 4000 -keystore name.keystore

注意:name.keystore即为签名文件,name为文件名,随你自己定,下面同理

执行以上命令后,会要求填写密码口令,单位信息等等

这里需要记住录入的密码,因为最后编译apk的时候还需要用到.

在所有的选项都录入完后,按回车,会在项目的根目录下生成一个name.keystore的签名文件,

里面就包含刚刚录入的一些信息和签名信息。

我们甚至能查看到发布版的SHA1信息

1
2
3
keytool -list -v -keystore name.keystore //name.keystore即上面生成的签名文件

// 后面会让你输入密码口令,即刚才设置的密码哦

查看结果如下:

软件签名

生成未签名软件包

我们现在打包一个可签名的软件包

1
cordova build --release android

测试版是没有 –release 命令

该命令将在./platforms/android/app/build/outputs/apk/release/目录下

生成app-release-unsigned.apk可签名软件安装包

移动未签名软件包

我们将其移动(或复制)到跟签名文件(name.keystore)同目录下,并重命名为name_unsigned.apk

其实不重命名也许哈哈

开始签名

输入命令

1
jarsigner -verbose -keystore name.keystore -signedjar name.apk name_unsigned.apk name.keystore

回车后也会让你输入密码口令

输入口令后执行如下:

即开始签名,并签名完成

这时会在当前目录下生成已签名安装包name.apk, 同样name名由你自己定

name.apk即为打包好可以上架的APK