安卓 自动签名 以及如何验证一个apk包是用你的签名文件签名的

## 使用自动签名的方法

1. 创建或者修改~/.gradle/gradle.properties

2. 在gradle.properties 文件中增加下面的内容.(具体内容需要根据实际来更改)

STORE_PASSWORD=xysys

KEY_ALIAS=xxsasd

KEY_PASSWORD=988asdf

3. 这样每次build的时候,总是用keystore来签名,不会用生成的debug来签名了

## 使用命令行来构建APK

进入项目最高层目录,找到 gradlew. 执行下面的命令来构建所有类型的APK,自动使用官方签名

* ./grdlew assemble

## 验证签名是官方签名

1. 使用keytool 获取apk包的指纹

keytool -list -printcert -jarfile app.apk

例如:

$ keytool -list -printcert -jarfile ./app/build/outputs/apk/app--unaligned-1.2.2.apk

签名者 #1:

签名:

所有者: OU=B, O=B, L=ChaoYang, ST=Beijing, C=86

发布者: OU=B, O=B, L=ChaoYang, ST=Beijing, C=86

序列号: xxx

有效期开始日期: Tue Sep 16 10:04:51 CST 2014, 截止日期: Sat Sep 10 10:04:51 CST 2039

证书指纹:

MD5: 0E:AE:

SHA1: F7:F5:

SHA256: 84:D7:

签名算法名称: SHA

版本: xx

2. 查看keystore的指纹

keytool -list -keystore android_sign.jks

apk的签名指纹跟keystore中的指纹一致表明该包是用keystore来签名的。

注意:若java版本是7之前的,需要先把apk解压,

keytool -printcert -file XXX.RSA 

来看包的指纹。

你可能感兴趣的:(安卓 自动签名 以及如何验证一个apk包是用你的签名文件签名的)