获取android系统签名keystore并打包APK

发布时间:2024年01月19日

?1、源码获取platform.pk8platform.x509.pem

将在AOSP中(Android Open Source Project)源码路径下build\target\product\security\platform.pk8platform.x509.pem复制出来放在同一目录下

2.执行命令 后生成 platform.pem

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

?3.行命令生成 platform.pk12

?# 生成platform.pk12,别名为dev
openssl pkcs12 -export -in platform.x509.pem -inkey platform.pem -out platform.pk12 -name dev
# 回车后,输入(该文件的)密码:123456

?

4.执行命令 ,生成keystore?

# keytool -importkeystore -deststorepass 上面输入的密码 -destkeystore platform.jks -srckeystore platform.pk12 -srcstoretype PKCS12 -srcstorepass 上面输入的密码
keytool -importkeystore -deststorepass 123456 -destkeystore platform.jks -srckeystore platform.pk12 -srcstoretype PKCS12 -srcstorepass 123456

?

5.查看签名信息?

keytool -list -v -keystore platform.jks
# 回车后,输入密码:123456

6.在项目中使用

?将platform.jks拷贝到项目模块的build.gradle同级目录下
然后在build.gradle中添加如下:

?? ?signingConfigs {
? ? ? ? config {
? ? ? ? ? ? storeFile file("platform.jks")
? ? ? ? ? ? storePassword '123456'
? ? ? ? ? ? keyAlias 'dev'
? ? ? ? ? ? keyPassword '123456'
? ? ? ? }
? ? }
?
? ? buildTypes {
? ? ? ? debug {
? ? ? ? ? ? proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
? ? ? ? ? ? signingConfig signingConfigs.config
? ? ? ? }
? ? }

7、注意?

按如上步骤生成platform.jks后,在android studio gradle 打包APk时,可能会报如下错误

?com.android.ide.common.signing.KeytoolException: Failed to read key dev from store "C:\code\xixiaoche_210\xixiaoche\app\platform.jks": Invalid keystore format

8、IDEA Android 打包APK报错:“Invalid keystore format”解决方法

?解决方法:调高Gradle的JVM版本即可:我这里是从JDK1.8 调成studio自带的jre解决问题

?

?然后重新打包即可。

9、 打包系统签名的apk(因为是添加系统级权限的apk,android:sharedUserId="android.uid.system"

使用上边生成的系统签名jks,编译成apk;

10为什么要原系统签名呢

修改系统时间啊,调用隐藏方法啊,系统关机重启啊,静默安装升级卸载应用等等,都需要需要root权限或者运行于系统进程中才可以用。因此就需要这样做:

? 1. 加入android:sharedUserId="android.uid.system"这个属性。 ? ? ??

? 2. 使用eclipse编译出未加签名的apk文件,但是这个apk文件是不能用的。

? 3. 使用目标系统的platform密钥来重新给apk文件签名。

hhhhhhttps://www.cnblogs.com/zuojie/p/17562191.html

hhhhhttps://blog.csdn.net/MYBOYER/article/details/104902159/

文章来源:https://blog.csdn.net/yangbowei1993/article/details/135697087
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。