RockChip主板系统签名说明

2024-04-25 03:18

本文主要是介绍RockChip主板系统签名说明,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

简介

线下设备使用的都是RockChip芯片的主板,我们要求最终运行的App都有系统权限,因此最终签名都会使用系统签名。之前都是打包完成之后再手动签名,现改成打包的时候直接使用RockChip的签名。

操作

手动签名

先生成apk,然后使用 signapk.jar 签名:

java -jar signapk.jar platform.x509.pem platform.pk8 in.apk out.apk

Gradle签名

task ttdevs(type: Exec) {String apkPath = "${rootProject.projectDir}/app/build/outputs/apk/"String signPath = "${rootProject.projectDir}/"file(apkPath).listFiles(new FileFilter() {@Overrideboolean accept(File file) {return file.name.endsWith(".apk") && !file.name.startsWith("signed")}}).each { File file ->// println file.path =  file.parent + file.namecommandLine "java", "-jar", "${signPath}/signapk.jar","${signPath}/platform.x509.pem","${signPath}/platform.pk8","${file.path}","${file.parent}/signed_${file.name}"}
}

系统签名

sh keytool-importkeypair.sh -k rockchip.jks -pk8 platform.pk8 -cert platform.x509.pem -alias rockchip -p rockchip

  • k: 生成的 keystore 文件
  • pk8: 要导入的 platform.pk8 文件
  • cert: 要导入的 platform.x509.pem 文件
  • alias 生成的 keystore 的 alias
  • p: 生成的 keystore 文件的密码

build.gradle 中使用上面生成的 rockchip.jks

android {...signingConfigs {rockchip {keyAlias 'rockchip'keyPassword 'rockchip'storeFile file('rockchip.jks')storePassword 'rockchip'}}...
}

查看签名信息

  • Android studio

    Gradle > app > Tasks > android > signingReport

  • 查看apk的签名

    解压apk,找到 META-INF/CERT.RSA,执行:

    keytool -printcert -file META-INF/CERT.RSA

文件列表

  • platform.pk8

    MD5: 67c8896ff5995a62ef31e60436ef129e

  • platform.x509.pem

    MD5: 5bf3063021a4e4cfa8203e1cb2bf9f4f

  • keytool-importkeypair.sh

    • 添加可执行权限:chmod +x keytool-importkeypair.sh

    • 工具下载地址:https://github.com/getfatday/keytool-importkeypair

  • rockchip.jks

    签名文件的MD5: 7ba48fc279bcae59f7005310ae8c5aea
    签名信息:
    Alias: rockchip
    MD5: 0E:BA:50:A4:5C:15:B3:5D:97:7D:04:D8:43:79:B3:55
    SHA1: 41:79:1C:9B:8F:AF:15:E1:AC:D5:AA:F5:92:10:FD:42:46:7D:82:77
    Valid until: Saturday, May 10, 2042

这篇关于RockChip主板系统签名说明的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/933577

相关文章

JWT + 拦截器实现无状态登录系统

《JWT+拦截器实现无状态登录系统》JWT(JSONWebToken)提供了一种无状态的解决方案:用户登录后,服务器返回一个Token,后续请求携带该Token即可完成身份验证,无需服务器存储会话... 目录✅ 引言 一、JWT 是什么? 二、技术选型 三、项目结构 四、核心代码实现4.1 添加依赖(pom

基于Python实现自动化邮件发送系统的完整指南

《基于Python实现自动化邮件发送系统的完整指南》在现代软件开发和自动化流程中,邮件通知是一个常见且实用的功能,无论是用于发送报告、告警信息还是用户提醒,通过Python实现自动化的邮件发送功能都能... 目录一、前言:二、项目概述三、配置文件 `.env` 解析四、代码结构解析1. 导入模块2. 加载环

linux系统上安装JDK8全过程

《linux系统上安装JDK8全过程》文章介绍安装JDK的必要性及Linux下JDK8的安装步骤,包括卸载旧版本、下载解压、配置环境变量等,强调开发需JDK,运行可选JRE,现JDK已集成JRE... 目录为什么要安装jdk?1.查看linux系统是否有自带的jdk:2.下载jdk压缩包2.解压3.配置环境

Redis中哨兵机制和集群的区别及说明

《Redis中哨兵机制和集群的区别及说明》Redis哨兵通过主从复制实现高可用,适用于中小规模数据;集群采用分布式分片,支持动态扩展,适合大规模数据,哨兵管理简单但扩展性弱,集群性能更强但架构复杂,根... 目录一、架构设计与节点角色1. 哨兵机制(Sentinel)2. 集群(Cluster)二、数据分片

Springboot项目构建时各种依赖详细介绍与依赖关系说明详解

《Springboot项目构建时各种依赖详细介绍与依赖关系说明详解》SpringBoot通过spring-boot-dependencies统一依赖版本管理,spring-boot-starter-w... 目录一、spring-boot-dependencies1.简介2. 内容概览3.核心内容结构4.

Linux查询服务器系统版本号的多种方法

《Linux查询服务器系统版本号的多种方法》在Linux系统管理和维护工作中,了解当前操作系统的版本信息是最基础也是最重要的操作之一,系统版本不仅关系到软件兼容性、安全更新策略,还直接影响到故障排查和... 目录一、引言:系统版本查询的重要性二、基础命令解析:cat /etc/Centos-release详

redis和redission分布式锁原理及区别说明

《redis和redission分布式锁原理及区别说明》文章对比了synchronized、乐观锁、Redis分布式锁及Redission锁的原理与区别,指出在集群环境下synchronized失效,... 目录Redis和redission分布式锁原理及区别1、有的同伴想到了synchronized关键字

MySQL 临时表创建与使用详细说明

《MySQL临时表创建与使用详细说明》MySQL临时表是存储在内存或磁盘的临时数据表,会话结束时自动销毁,适合存储中间计算结果或临时数据集,其名称以#开头(如#TempTable),本文给大家介绍M... 目录mysql 临时表详细说明1.定义2.核心特性3.创建与使用4.典型应用场景5.生命周期管理6.注

更改linux系统的默认Python版本方式

《更改linux系统的默认Python版本方式》通过删除原Python软链接并创建指向python3.6的新链接,可切换系统默认Python版本,需注意版本冲突、环境混乱及维护问题,建议使用pyenv... 目录更改系统的默认python版本软链接软链接的特点创建软链接的命令使用场景注意事项总结更改系统的默

Java中数组与栈和堆之间的关系说明

《Java中数组与栈和堆之间的关系说明》文章讲解了Java数组的初始化方式、内存存储机制、引用传递特性及遍历、排序、拷贝技巧,强调引用数据类型方法调用时形参可能修改实参,但需注意引用指向单一对象的特性... 目录Java中数组与栈和堆的关系遍历数组接下来是一些编程小技巧总结Java中数组与栈和堆的关系关于