一、签名文件的生成
1、这里用的是jdk中bin目录下的keytool.exe工具
2、cmd进入控制台,进入安装jdk的bin目录[Java_home]\bin(一般这里设置了环境变量,可以不进入直接编辑命令),运行命令:(下面两个都可实现)
keytool -genkey -alias [alias] -keyalg RSA -validity 20000 -keystore [android.keystore]
keytool -genkeypair -alias [alias] -keyalg RSA -validity 20000 -keystore [android.keystore]
- 注意:路径中本身含有[android.keystore]的文件,会报错,只有在该路径下不存在该key文件名才会产生;
- [alias]为要填写的别名,自定义;
- [android.keystore]为要生成的签名文件,自定义;
二、签名,把开发的apk文件从debug模式转为release模式
1、找到相应目录下的jarsigner.exe工具
2、进入控制台,运行命令:
jarsigner -verbose -sigalg MD5withRSA -digestalg SHA1 -keystore android.keystore [app name].apk [alias]
- 注意:[alias]与签名文件中定义的要保持一致。
- 我这出现了个错误—无法对jar进行签名,并解决方法如下:
把apk文件的后缀 .apk改为.zip(也可以不改直接用压缩软件打开) 用压缩软件打开,删除 meta-info文件夹, 把后缀.zip改回原来的.apk
再次运行签名的命令,问题解决。
3、判断apk是否从debug模式转为release模式
可以通过下面命令来查看:
jarsigner -verify -verbose -certs my_application.apk
- 如果看见”CN=Android Debug”, 意味着APK仍然是debug签名模式,如下:
- 而release模式,则为: