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

相关文章

Java之ServerSocket使用及说明

《Java之ServerSocket使用及说明》本文介绍了Java中ServerSocket类的使用方法,包括创建ServerSocket对象、绑定端口、监听连接请求、接受连接、关闭连接等常用方法,还... 目录前言常用方法使用案例1.实现TCP2.实现UDP总结前言Java中的ServerSocket

Java Exception与RuntimeException使用及说明

《JavaException与RuntimeException使用及说明》:本文主要介绍JavaException与RuntimeException使用及说明,具有很好的参考价值,希望对大家有所... 目录简介ExceptionRuntimeException自定义异常选择继承Exception(受检异常)

C++简单日志系统实现代码示例

《C++简单日志系统实现代码示例》日志系统是成熟软件中的一个重要组成部分,其记录软件的使用和运行行为,方便事后进行故障分析、数据统计等,:本文主要介绍C++简单日志系统实现的相关资料,文中通过代码... 目录前言Util.hppLevel.hppLogMsg.hppFormat.hppSink.hppBuf

MySQL中存储过程(procedure)的使用及说明

《MySQL中存储过程(procedure)的使用及说明》存储过程是预先定义的SQL语句集合,可在数据库中重复调用,它们提供事务性、高效性和安全性,MySQL和Java中均可创建和调用存储过程,示例展... 目录概念示例1示例2总结概念存储过程:在数据库中预先定义好一组SQL语句,可以被程序反复调用。

Linux join命令的使用及说明

《Linuxjoin命令的使用及说明》`join`命令用于在Linux中按字段将两个文件进行连接,类似于SQL的JOIN,它需要两个文件按用于匹配的字段排序,并且第一个文件的换行符必须是LF,`jo... 目录一. 基本语法二. 数据准备三. 指定文件的连接key四.-a输出指定文件的所有行五.-o指定输出

Redis中Hash从使用过程到原理说明

《Redis中Hash从使用过程到原理说明》RedisHash结构用于存储字段-值对,适合对象数据,支持HSET、HGET等命令,采用ziplist或hashtable编码,通过渐进式rehash优化... 目录一、开篇:Hash就像超市的货架二、Hash的基本使用1. 常用命令示例2. Java操作示例三

Redis中Set结构使用过程与原理说明

《Redis中Set结构使用过程与原理说明》本文解析了RedisSet数据结构,涵盖其基本操作(如添加、查找)、集合运算(交并差)、底层实现(intset与hashtable自动切换机制)、典型应用场... 目录开篇:从购物车到Redis Set一、Redis Set的基本操作1.1 编程常用命令1.2 集

linux系统中java的cacerts的优先级详解

《linux系统中java的cacerts的优先级详解》文章讲解了Java信任库(cacerts)的优先级与管理方式,指出JDK自带的cacerts默认优先级更高,系统级cacerts需手动同步或显式... 目录Java 默认使用哪个?如何检查当前使用的信任库?简要了解Java的信任库总结了解 Java 信

Python sys模块的使用及说明

《Pythonsys模块的使用及说明》Pythonsys模块是核心工具,用于解释器交互与运行时控制,涵盖命令行参数处理、路径修改、强制退出、I/O重定向、系统信息获取等功能,适用于脚本开发与调试,需... 目录python sys 模块详解常用功能与代码示例获取命令行参数修改模块搜索路径强制退出程序标准输入

Oracle数据库在windows系统上重启步骤

《Oracle数据库在windows系统上重启步骤》有时候在服务中重启了oracle之后,数据库并不能正常访问,下面:本文主要介绍Oracle数据库在windows系统上重启的相关资料,文中通过代... oracle数据库在Windows上重启的方法我这里是使用oracle自带的sqlplus工具实现的方