Android 制作系统签名

一、切换目录

复制代码
cd build/target/product/security

二、执行命令

复制代码
1)将使用.pk8生成platform.priv.pem (.pem即可,文件名可随意修改)

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


2)生成.p12,此时需输入两次密码,并且要记住 -name后所设置的alias,此处设置的alias为backpack
命令:
openssl pkcs12 -export -in platform.x509.pem -inkey [platform.pem] -out [platform.pk12] -name [key的别名] -password pass:[key的密码]
实际执行:
openssl pkcs12 -export -in platform.x509.pem -inkey platform.pem -out platform.pk12 -name key_szy -password pass:123456



3)生成.jks文件,此处需注意-srcstorepass 后为步骤2)设置的密码,此处如果输入错误会导致出现密码不对的错误,输入两次密码后即可生成.jks
命令
keytool -importkeystore -deststorepass [key的密码] -destkeypass [key的密码] -destkeystore platform.jks -srckeystore platform.pk12 -srcstoretype PKCS12 -srcstorepass [key的密码] -alias [android]

 实际执行
keytool -importkeystore -deststorepass 123456 -destkeypass 123456 -destkeystore platform.jks -srckeystore platform.pk12 -srcstoretype PKCS12 -srcstorepass 123456 -alias key_szy




链接:https://juejin.cn/post/7208839038018502693

https://blog.csdn.net/yuhance/article/details/136534727

制作完成后,会在当前目录下载生成一个platform.jks的签名文件,将它导入到android studio中即可对应用进行签名。

三、导入 Android Studio

将platform.jks放置在App目录下,并build.gradle中加入以下代码。

复制代码
signingConfigs {
    sign {
        storeFile file('platform.jks')
        storePassword '123456'
        keyAlias 'android'
        keyPassword '123456'
    }
}

buildTypes {
    release {
        minifyEnabled false
        signingConfig signingConfigs.sign
    }
    debug {
        minifyEnabled false
        signingConfig signingConfigs.sign
    }
}

将系统签名引入android studio后,app工程就可以直接在Android模拟器中调用系统API,同时也可以获取更高等级的权限了。

注意:基于AOSP源码制作的test key文件,一般无法使用在真实环境中(例如:手机),车载项目则较为复杂,有的项目在开发阶段,就会使用较为严格的签名校验,那么AOSP的签名文件也是无法使用的。不过也有项目,会在最后的量产阶段更换签名,那么在此之前AOSP中test key依然可以使用。

相关推荐
Nerve1 小时前
GooglePay: API 文档
android·google
Nerve1 小时前
GooglePay: 订阅商品购买流程
android·google
summerkissyou19871 小时前
Audio-触摸音-播放流程
android
Nerve1 小时前
GooglePay: 消耗商品购买流程
android·google
LiteHeaven2 小时前
Android 8.1 Unable to create application data 问题分析
android
Nerve2 小时前
GooglePay: 一个基于 Google Play Billing Library 封装的 Android 支付库
android·google
Nerve2 小时前
Google Play 结算系统入门指南
android·google
青莲8433 小时前
Android Jetpack - 2 ViewModel
android·前端
3***g2053 小时前
SQLyog安装配置(注册码)连接MySQL
android·mysql·adb