1.android studio上进行普通签名
1.1 方法1
如果还没有创建过.jks,就创建一个
选择release表示生成正式版,V2表示生成APK
可以看到完成上述步骤后在SignDemo/app/release生成了一个app-release.apk,这个就是已经签名的apk
1.2 方法2
把在方法1中新建的.jks文件配置到release中(注意debug是原来就有的release是自己新建的)
做完面步骤可以看到app的build.gradle文件多了如下代码
右上角双击app下的build生成apk
生成路径如图,与方法1生成的路径有点不一样
2.系统签名
1.所需工具
1 keytool-importkeypair
地址:https://github.com/getfatday/keytool-importkeypair
2 platform.pk8与platform.x509.pem
在系统源码的build/target/product/security下面
3 .jks文件
利用android studio生成
2.生成系统签名
把以上工具放在同路径下
执行命令 sh keytool-importkeypair -k [jks文件名] -p [jks的密码] -pk8 platform.pk8 -cert platform.x509.pem -alias [jks的别名]
至此原本的jks文件就被系统签名过了,使用此jks打包的apk就为系统签名的apk
3.另外
在LINUX系统上使用keytool-importkeypair脚本会报bash: ./keytool-importkeypair: /bin/bash^M: 解释器错误: 没有那个文件或目录的错误,是由于编码的问题(^M:报此符号的错误是因为编码问题)
3.用jarsigner签名
jarsigner是JDK中的其中一个工具,
格式:jarsigner -verbose -keystore [keystorePath] -signedjar [apkOut] [apkin] [alias]
输入keystore的密码,密码是自己生成keystore时自己定义的