Android 根据源码文件生成系统签名.jks文件以及对APK文件进行签名

最近定制系统应用开发用到了系统签名,系统那边给了platform.pk8,platform.x509.pem两个文件

这里记录一下如何使用

首先在AndroidManifest.xml 加上

android:sharedUserId="android.uid.system"

系统签名两种方式

一:对APK文件进行签名

在Android源码目录:android/build/target/product/security/ 找到签名文件“platform.pk8”和“platform.x509.pem

签名工具目录:android/prebuilts/sdk/tools/lib 找到签名工具:signapk.jar 

建议使用从系统里面拷出来的工具,signapk.jar工具,理论上是平台通用,但也遇到过能签名能装APP但是签名无效的,最好就是用从系统拷出来的signapk.jar来签名

工具下载地址:

限速云链接:https://pan.baidu.com/s/1K4meCgJyPbpNLOcazMgDxA 提取码:oy5g 
CSDN链接:https://download.csdn.net/download/u011046184/11175754

新建一个目录(任意位置),把这三个文件放进去

管理员模式运行cmd  cd进到放这三个文件的文件夹,

cmd执行以下指令,其中input.apk为要签名的apk文件, output.apk为签名后输出的apk文件,即可为APK文件进行系统签名;
 

java -jar signapk.jar platform.x509.pem platform.pk8 input.apk output.apk

二:生成jks文件直接配置在build.gradle

基本步骤同上(需要OpenSSL环境)

OpenSLL安装软件下载:https://download.csdn.net/download/u011046184/12514153

系统Path环境变量添加 C:\OpenSSL-Win64\bin 即可

取到源码目录下的三个文件,新建一个文件夹(任意位置)

管理员模式运行cmd  cd进到放这三个文件的文件夹

cmd执行以下指令即可生成xx.jks文件

生成platform.pem文件

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

生成platform.p12文件  设置别名和密码也就是Android studio打包APK文件时输入的别名和密码

openssl pkcs12 -export -in platform.x509.pem -out platform.p12 -inkey platform.pem -password pass:android -name key

生成platform.jks文件(钥匙文件)(-srcstorepass android)这个是.jks文件的密码

keytool -importkeystore -deststorepass android -destkeystore ./platform.jks -srckeystore ./platform.p12 -srcstoretype PKCS12 -srcstorepass android

直接copy以上指令生成的.jks密码为:android   别名:key  别名的密码:android

Generate Signed APK使用

直接配置到build.gradle使用

build.gradle配置如下即可直接在调试时也打上系统签名进行调试:

signingConfigs {
        release {
            storeFile file("C:/Users/Administrator/sigapk/test.jks") .jks文件的路径
            storePassword 'key密码'
            keyAlias '你设置的key别名'
            keyPassword 'key别名的密码'
        }
        debug {
            storeFile file("C:/Users/Administrator/sigapk/test.jks") .jks文件的路径
            storePassword 'key密码'
            keyAlias '你设置的key别名'
            keyPassword 'key别名的密码'
        }
    }
    buildTypes {
        debug {
            signingConfig signingConfigs.debug
        }
        release {
            signingConfig signingConfigs.release
        }
    }
  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值