Android 生成系统签名keystore 并添加到已有keystore 方便Gradle命令多渠道打包

刚接手的一个项目有一些需要系统权限的需求 比如定时关机等,这些需要获得系统签名打包后才可以实现。
项目的设计的是这样的,软件要在多种厂家的硬件上运行,因此需要多个厂家的系统签名,然后Gradle多渠道打包,在共用的同一个keystore库根据各自的别名来打包就是了。
公司项目不方便 所以对厂商名做了马赛克 知道是配置了多个厂商,和用的同一个keystore就OK了
关于获取系统签名打包的方式网上有很多了大家可以自行百度了解。,这里不做过多解释。因为厂家提供的了签名需要的文件,所以可以选择的是手动签名,不过那种方式不方便调试
最重要的是!我不需要直接在我的安装包上签名,而是需要给我生成一个key,然后追加到项目本来的keystore库里去
这里推荐一个写的比较详细的生成系统签名key的博文

引用文本
https://blog.csdn.net/weixin_42072033/article/details/109778230
实战讲解Android如何生成系统签名keystore,让AS自写APK系统化

具体步骤

厂家提供的用于生成签名的文件 只需要画框的那两个,sign.jar是用来签名的,不需要我们是gradle签名
在这里插入图片描述
1在Linux系统(Windows放弃吧 我试过了没戏的 去求求同事或者自己会的就不用。。反正就是四个命令)
2把这两个放入同一个文件夹下 生成keystore
第一条命令

openssl pkcs8 -in platform.pk8 -inform DER -outform PEM -out shared.priv.pem -nocrypt

第二条命令

 openssl pkcs12 -export -in platform.x509.pem -inkey shared.priv.pem -out shared.pk12 -name [你要设置的别名]

回车后要输入两次密码 自己要记好下面要用
第三条命令

keytool -importkeystore -deststorepass [密码] -destkeypass [密码] -destkeystore  [你要想要得keystore的文件名].keystore -srckeystore shared.pk12 -srcstoretype PKCS12 -srcstorepass android -alias [第二条设置的别名]

然后你就看到keystore后缀的系统签名了,如果只需要系统签名,之前没有自己签名的可以到此为止了,直接拿去打包吧
4最后把他导入到本来的keystore里去(这一步开始在什么系统就无所谓了)
在这里插入代码片

keytool -importkeystore -srckeystore [你刚生成的keystore路径] -destkeystore [你要导入的keystore路径]

OK 完工
查看一下秘钥信息

keytool -list -v -keystore [你的key路径] -storepass [密码]

附上导入前和导入后的图片
在这里插入图片描述

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_39178733/article/details/121027609