当前位置: 代码迷 >> 综合 >> 签名文件---查看签名文件和重新加固,gradle中添加签名信息
  详细解决方案

签名文件---查看签名文件和重新加固,gradle中添加签名信息

热度:8   发布时间:2024-01-04 05:51:03.0

资料来源

生成签名文件

有两种方式

  • AS创建新的签名文件

傻瓜式操作,一键生成

  • 命令行创建新的签名文件

keytool -genkey -alias aaaa.keystore -keyalg RSA -validity 2000 -keystore newandroid.keystore
备注说明:-alias后面跟着的是别名(android.keystore) -keystore后面跟着的是具体的签名文件(及签名文件的命名–newandroid.keystore)
当使用这个命令生成后,会有个警告,不符合pkcs12标准,需要消除掉(也可以不消除),使用如下命名:
keytool -importkeystore -srckeystore android.keystore -destkeystore newandroid.keystore -deststoretype pkcs12
将上面的android.keystore签名迁移到newandroid.keystore中,其各种参数不变。
--------------------- 
作者:willba 
来源:CSDN 
原文:https://blog.csdn.net/willba/article/details/79476904 
版权声明:本文为博主原创文章,转载请附上博文链接!

查看签名文件

在AS自带的环境中,jre/bin目录下,打开cmd,输入如下命令

keytool -list -v -keystore 

把.jsa签名文件拖入cmd即可

## 查看apk的签名

如果只有apk,如何查看签名呢

第一步:将apk解压
第二步:找到META-INF 下的.RSA文件
第三步:在mac终端或者window控制器上输入命令:
keytool -printcert -file xxx.RSA回车,即可查看签名文件.将.RSA文件拖入到-file后面,即可查看:

输出结果中的MD5就是签名信息,已经被隐藏

加固和重新签名

用腾讯云移动安全LeguPC加固并重新签名

工具下载地址

下载地址

gradle中添加签名信息

资料来源

project structure中更改app项目的signing和buildTypes信息

这样设置后,gradle文件会自动添加信息

签名文件信息

具体信息可以在根目录下的gradle.properties文件中配置,这样签名信息只保留在本地配置中,不会上传到仓库

release是正式签名配置

debug是debug签名配置

这样就可以保证正式版本和debug版本签名一致

删除原签名和重新签名

为了测试方便,有时需要删除发布应用的签名信息,用debug版本的签名文件重新签名,来测试覆盖和升级

删除签名信息

把apk文件类型改名为zip并解压,找到META-INF文件夹

删除如下签名信息

 

 然后重新打包,逆操作,把zip格式改回apk

手动签名

现在拿到了未签名的apk和签名用的dubug.keystore

通过jarsigner命令来进行命令行签名,可以通过jarsigner --help命令了解更多用法

(需要本地安装和配置JDK)

jarsigner -verbose -keystore [签名文件keystore路径] -signedjar [签名后的文件路径] [未签名的文件路径] [keystore的别名keyAlias]
//回车运行后,会提示输入密钥库口令storePassword
//再次回车,会在指定的签名后文件路径输出指定的签名后文件

  相关解决方案