前言
一般打包号的软件只是测试版本,即不能发布到应用商店里的,
而经过签名后的软件,才能发布到各大应用平台商店供他人下载使用。
不仅如此,签名后的软件可得到的权限保证也更高,比如位置定位。
项目准备
一般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 | 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