Android APK生成证书并签名方法
Android开发者可能对此很熟悉。使用Cordova等工具初试Hybird开发的前端同学可能就并不了解了,记录一下Ionic-cli / cordova项目打包APK后的签名详细过程共参考:
整个流程为:打包release版本的APK -> 生成keystore证书 -> 使用keystore证书签名APK -> 发布到应用市场
这里我们只关注生成证书与签名部分。
一、【前置环境准备】
电脑上安装了Java JDK与Android SDK,配置好环境变量等。做Android这步应该都是好的,如果没装自行百度。
二、【生成keystore证书】
Android APK的keystore证书不收费,不需要申请,可以自己生成。
首先我们要使用keytool生成keystore证书。
keytool已经集成在JDK中了。在命令行输入命令:
keytool -genkey -v -keystore myApp.keystore -alias myApp.keystore -keyalg RSA -validity 30000
运行一下试试
命令详细说明
key | dec |
keytool | 工具名称(固定写法) |
)-genkey | 执行的是生成数字证书操作(固定写法) |
-v | 打印生成证书的详细信息 |
-keystore myApp.keystore | 生成的证书的文件名为"myApp.keystore"(根据需求,设置你的证书名) |
alias myApp.keystore | 证书的别名为"myApp.keystore"。(一般和上面的文件名相同,可以不同,但要记好,签名时会用(A)) |
-keyalg RSA | 生成密钥文件采用的算法为RSA(固定写法) |
-validity 3000 | 该数字证书的有效期为30000天,30000天之后该证书将失效 |
按格式执行命令,
第一步会要求创建一个密钥。自己输入一个并记好。输入后并不会显示在窗口中,直接回车后,要求再次输入,重复输入后回车。
然后按提示填写各个问题。
最后在生成证书时会要求输入一个密钥,比如 : android 这个密钥是后面签名要用到的务必记好(B),建议与上面密钥相同。输入后回车
就可以在当前命令行的位置生成如:"myApp.keystore"的证书文件。
过程如图:
三、【给APK签名】
2. 把apk 与 myApp.keystore 放在同一目录下(不放在同一目录下也可以。放同目录下省去了配置路径的麻烦)
3. 在该目录下执行命令:
jarsigner -verbose -keystore myApp.keystore -signedjar android-release-signed.apk android-release-unsigned.apk myApp.keystore
运行一下试试
命令详细说明
key | dec |
jarsigner | 工具称名(固定写法) |
-verbose | 显示出签名详细信息 |
-keystore myApp.keystore myApp.keystore | 要使用的签名证书文件 |
-signedjar android-release-signed.apk | 签名后的文件名 |
android-release-unsigned.apk | 要签名的文件 |
myApp.keystore | 别名,即(A)步中的别名 |
4. 执行上面命令会要求输入签名密码,比如 android (上面(B)位置提到的)后回车,会在同目录下生成一个签好名的的android-release-signed.apk即为可发布的签名包
过程如图:
中间详细信息截图太长,省略