Android进阶学习

生成签名文件和签名应用(超级详细版)

2021-03-11  本文已影响0人  Jack_Ou

1.签名文件简介

签名文件说明出处,标准的测试秘钥包含四个部分:testkey、platform、shared和media。

The following standard test keys are currently included:

testkey -- a generic key for packages that do not otherwise specify a key.
platform -- a test key for packages that are part of the core platform.
shared -- a test key for things that are shared in the home/contacts process.
media -- a test key for packages that are part of the media/download system.

2.签名文件的生成

2.1命令行生成方式

2.2脚本生成证书方式

在源码development/tools/目录中,有一个make_key脚本,可以使用这个脚本来生成证书

Step 1:cd到development/tools/目录

Step 2:运行make_key脚本: sudo ./make_key platform '/C=CN/ST=YourProvince/L=YourLocation/O=YourOrganization/OU=YourOrganizationalUnit/CN=YourName'

说明:testkey是生成的文件名,后面是证书里面的内容

参数 说明
/C 国家代号
/ST 省份代号
/L 位置代号
/O 组织代号
/OU 单位代号
/CN 名称

Step 3:输入自定义密码

此时就会生成:platform.x509.pem和platform.pk8

此时就可以使用out/host/linux-x86/framework/目录下的signapk.jar包来对apk进行签名了

2.3 生成signapk.jar

3.对apk进行签名

3.1 使用指令签名

如果使用原生的证书,目录在/build/target/product/security/中可以找到platform.pk8 platform.x509.pem文件,如果有我们上面生成的也可以。

将要打包的apk、证书和signapk.jar放到一个目录。

java -jar signapk.jar  platform.x509.pem platform.pk8 old.apk new.apk

3.2 使用Android Studio签名

要使用Android Studio对应用自动签名,需要生成.jks的证书,该二进制格式的证书,同时包含证书和私钥,一般有密码保护。

如果是没有密码的pem格式的证书生成.jks文件方式如下:

有密码的pem格式的证书生成.jks文件的方式:

假如密码是:c6a04bdc7236f5d18c75840f50dee482b36ad4cc

生成.jks文件之后,导入as中,编译工程的时候,选择Generate Signed Bundle or APK按照上面生成输入的昵称和密码一直下一步就可以完成工程签名了。

4.验证是否签名成功

签名文件内容.png
上一篇下一篇

猜你喜欢

热点阅读