APK签名流程介绍

实际上,现在Android开发IDE自带签名功能,但是有时我们还是可能遇到自己签名apk的场景的,比如你有一个未签名的apk,但是你要adb install到device上,这时我们在adb install之前就必须对该apk进行签名处理才能install成功,这篇文章就简单的介绍下apk签名流程吧。

1、生成签名证书

签名需要签名证书,签名证书类型实际上是有很多的,如jks、keystore等,这里以生成keystore为例来生成一个yjing.keystore签名证书文件。

本文利用JDK 下的keytool工具来生成keystore文件,相信配置好Android开发环境的童鞋应该都不会遇到keytool工具找不到的问题,这里直接使用命令

keytool -genkey -alias keyAlias -keyalg RSA -validity 20000 -keystore yjing.keystore

以上命令各参数含义如下:

-genkey 生成文件

-alias 别名

-keyalg 加密算法

-validity 有效期(天)

-keystore 文件名

就这样,我们生成了一个yjing.keystore的签名文件,实际上在签名过程中需要填写一些基本信息,这个随便填填就行了,然后在签名成功后会发现有如下提示
这里写图片描述

可以看到keytool工具现在已经推荐使用JKS的签名证书了,这个不管,反正我们已经拿到yjing.keystore了(我生成的yjing.keystore文件在C://users/对应用户名下)。

2、对apk进行签名

对apk签名还是利用JDK下的jarsigner工具来进行,我们通过如下命令来签名


jarsigner -verbose -keystore yjing.keystore -signedjar signed.apk unsigned.apk keyAlias

这里也说说参数吧
-verbose 输出签名的详细信息

-keystore 密钥库位置 后面跟签名证书文件路径

-signedjar 表示进行签名操作

signed.apk 生成的签名文件(不是当前路径时,需添加路径)

unsigned.apk 表示未签名文件

yjing.keystore 签名证书文件

keyAlias 生成签名时候的别名

通过以上命令也就能成功生成签名apk文件signed.apk了

参考文献

1、手把手,教你怎样用命令行给apk签名
2、生成签名证书keystore

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章