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依然可以使用。

相关推荐
CYRUS_STUDIO29 分钟前
使用 Dex2C 加壳保护 Android APK 代码
android·安全·逆向
alexhilton1 小时前
理解Jetpack Compose中副作用函数的内部原理
android·kotlin·android jetpack
恋猫de小郭5 小时前
腾讯 Kuikly 正式开源,了解一下这个基于 Kotlin 的全平台框架
android·前端·ios
贫道绝缘子6 小时前
【Android】四大组件之Activity
android
人生游戏牛马NPC1号6 小时前
学习Android(四)
android·kotlin
_祝你今天愉快6 小时前
安卓触摸事件分发机制分析
android
fyr897576 小时前
Ubuntu 下编译goldfish内核并使用模拟器运行
android·linux
心之所向,自强不息7 小时前
关于Android Studio的Gradle各项配置
android·ide·gradle·android studio
隐-梵7 小时前
Android studio学习之路(八)---Fragment碎片化页面的使用
android·学习·android studio
百锦再7 小时前
Kotlin学习基础知识大全(上)
android·xml·学习·微信·kotlin·studio·mobile