Android 开发制作系统签名

一、使用命令签名

        这种方式不需要系统源码编译环境,可以直接对 apk 文件进行签名。

1、获取系统签名文件

        首先,从系统源码环境中获取制作系统签名所需相关文件,在 build/target/product/security/ 下的 platform.pk8  和 platform.x509.pem。获取 signapk.jar,在 /out/host/linux-x86/framework/ 下。

2、使用命令进行签名

java -jar signapk.jar platform.x509.pem platform.pk8 你的应用.apk 签名后的应用名.apk

二、使用 Studio 签名 

1、制作签名文件

        制作签名文件同样需要用到上面的相关文件 platform.pk8  和 platform.x509.pem。

1)将pkcs8格式的私钥 platform.pk8 转化成 pkcs12格式。

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

2)把公钥 platform.x509.pem 转换成 pkcs12 格式,并指定 密钥别名

openssl pkcs12 -export -in platform.x509.pem -inkey shared.priv.pem -out shared.pk12 -name 密钥别名

3)生成指定 密钥名称 的密钥文件。

keytool -importkeystore -srckeystore shared.pk12 -srcstoretype pkcs12 -srcstorepass 密钥密码 -alias 密钥别名 -deststorepass 密钥密码 -destkeypass 密钥密码 -destkeystore 密钥名称 -deststoretype pkcs12

2、配置签名脚本

        这里直接将签名文件放到了 app 目录下,

android {...defaultConfig {...}signingConfigs {release {storeFile file("platform.keystore")storePassword '123456'keyAlias 'platform'keyPassword '123456'}debug {storeFile file("platform.keystore")storePassword '123456'keyAlias 'platform'keyPassword '123456'}}buildTypes {release {minifyEnabled falseproguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'signingConfig signingConfigs.release }debug {minifyEnabled falseproguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'signingConfig signingConfigs.debug }}...
}

在xml中添加系统属性

android:sharedUserId="android.uid.system"

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/769894.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

DC-4靶机

一.环境搭建 1.下载地址 靶场下载地址:https://download.vulnhub.com/dc/DC-4.zip 下载不下来用迅雷下载 2.虚拟机配置 切换为nat模式 开启靶机,遇到所有的错误直接点重试或者是,开启后呈现为下图即可 二.开始渗透 1.信息收集 老规矩,…

【排序算法】插入排序与选择排序详解

文章目录 📝选择排序是什么?🌠选择排序思路🌉 直接选择排序🌠选择排序优化🌠优化方法🌉排序优化后问题 🌠选择排序效率特性 🌉插入排序🌠插入排序实现 &#…

简单了解单例模式

什么是单例模式 对于一个类,只有一个实例化的对象,我们构建单例模式一般有两种:饿汉式和懒汉式 饿汉式 优点是无线程安全问题,类加载就创建对象缺点是占内存 class Singleton01{private static Singleton01 instance new Sing…

objection命令语句大全简洁版

一、objection基础命令 1、过root检测 objection -g 包名 explore --startup-command "android root disable"2、过sll证书效验 objection -g 包名 explore --startup-command "android sslpinning disable"二、基础命令 进入命令 objection -g 包名 explo…

【JavaScript】JavaScript 程序流程控制 ⑥ ( while 循环概念 | while 循环语法结构 )

文章目录 一、while 循环1、while 循环概念2、while 循环语法结构 二、while 循环 - 代码示例1、打印数字2、计算 1 - 10 之和 一、while 循环 1、while 循环概念 在 JavaScript 中 , while 循环 是一种 " 循环控制语句 " , 使用该语句就可以 重复执行一段代码块 , …

瑞_Redis_商户查询缓存_什么是缓存

文章目录 项目介绍1 短信登录2 商户查询缓存2.1 什么是缓存2.1.1 缓存的应用场景2.1.2 为什么要使用缓存2.1.3 Web应用中缓存的作用2.1.4 Web应用中缓存的成本 附:缓存封装工具类 🙊 前言:本文章为瑞_系列专栏之《Redis》的实战篇的商户查询缓…

设计模式(1):介绍

这篇文章小编开始讲一个新的话题——设计模式,在讲之前小编要给大家强调几点: 1. 大家不要期望通过这篇文章就能把设计模式掌握了,这种情况不太可能。大家通过这篇文章最重要的事就是要把设计模式的思维融入大家的学习或工作中。想要真正的学…

C语言---------strlen的使用和模拟实现

字符串是以‘\0’作为结束标志&#xff0c;strlen函数的返回值是‘\0’前面的字符串的个数&#xff08;不包括‘\0’&#xff09; 注意 1&#xff0c;参数指向的字符串必须以‘\0’结束 2&#xff0c;函数的返回值必须以size_t,是无符号的 使用代码 ​ #include<stdio.…

学习刷题-13

3.23 hw机试【二叉树】 剑指offer32 剑指 offer32&#xff08;一、二、三&#xff09;_剑指offer 32-CSDN博客 从上到下打印二叉树I 一棵圣诞树记作根节点为 root 的二叉树&#xff0c;节点值为该位置装饰彩灯的颜色编号。请按照从 左 到 右 的顺序返回每一层彩灯编号。 输…

学习vue3第十一节(依赖注入:provide/inject)

本机介绍&#xff1a;provide/inject 注意&#xff1a;大家在看此小节时候&#xff0c;默认大家已经了解一些组件的使用方法 1、依赖注入的用途&#xff1a; 当嵌套层级多的时候&#xff0c;某个子组件需要较远层级的父组件数据时候&#xff0c;如果我们依然使用props 传递数…

关系型数据库mysql(6)备份与恢复

一.数据备份的重要性 &#xff08;1&#xff09;在生产环境中&#xff0c;数据的安全性至关重要 &#xff08;2&#xff09;任何数据的丢失都可能产生严重的后果 &#xff08;3&#xff09;造成数据丢失的原因 程序错误人为操作失误运算错误磁盘故障灾难&#xff08;如火灾…

背景减除(1)--bgslibrary Windows编译和使用

入侵监控领域中&#xff0c;在固定场景下&#xff0c;需要检测和监控的入侵物体种类繁多&#xff0c;无法具体穷尽。传统的CV算法提取的特征应用场景有限&#xff0c;无法完成大量物体的监控&#xff1b;深度学习目标检测方法没法收集到无穷无尽的物体种类&#xff0c;因此监督…

C语言----strcpy和strcat的使用和模拟实现

一&#xff0c;strcpy()函数 strcpy() 函数是 C语言中一个非常重要的字符串处理函数&#xff0c;其功能是将一个字符串复制到另一个字符串中。该函数原型如下&#xff1a; char*strcpy(char*dest,const char*src) 其中&#xff0c;dest 表示目标字符串&#xff0c;即将被复制到…

亿级数据库迁移、分库分表、实践

什么时候需要进行数据库迁移 1、业务数据增长&#xff0c;原数据库不足以支持业务需求 2、底层存储架构遇见瓶颈&#xff0c;需升级改造 3、老系统升级过度新系统 迁移过程中会面临哪些挑战或问题 1、数据库表完全异构、旧库和新库表结构完全不同 2、业务方&#xff0c;需要…

日常工作中时间管理的方法学习总结

时间管理的意义 时间管理是一种非常重要的个人职业技能&#xff0c;它可以帮助人们更有效地使用时间&#xff0c;达成目标。 通常可以基于这四个过程进行管理&#xff0c;分别是确定目标、制定计划、落实执行、回顾结果。 确定目标 要管理好目标&#xff0c;通过SMART原则有…

GCC指令生成 Map映射文件

示例&#xff1a; gcc -g -Wl,-Mapoutput.map -o myprogram myprogram.c在这个例子中&#xff0c; -g 表示生成调试信息-Wl,-Mapoutput.map 告诉链接器生成一个名为 output.map 的映射文件-o myprogram 指定最终的可执行文件名称为 myprogram&#xff0c;最后的 myprogram.c …

【HDFS】DatanodeAdminBackoffMonitor退役节点极慢的问题定位

一、现象: 下节点特别慢。10台节点,每台大约需要退役60w个块。但是3个小时才退役了3000多个块。 NN侧如下日志,可以看到30秒只退役了512-494 = 20个块,这要是退役600w个块,得猴年马月? 2024-03-19 14:44:42,952 INFO org.apache.hadoop.hdfs.server.blockmanagement.D…

浅析扩散模型与图像生成【应用篇】(十一)——DDIBs

11. Dual Diffusion Implicit Bridges for Image-to-Image Translation 该文提出一种双扩散隐式桥&#xff08;Dual Diffusion Implicit Bridges&#xff0c; DDIBs&#xff09;方法用于图像转换&#xff0c;其最大的特点在于处理源域图像的模型和处理目标域图像的模型是彼此分…

android支持包com.android.support:support-v4 依赖树,便于分析类冲突问题

执行如下依赖分析指令可以打印依赖树 sh gradlew -q app:dependenciescom.android.support:support-v4:28.0.0 是一个非常庞大的支持库&#xff0c;依赖的东一比较多下面看看详情&#xff1a;standard_testReleaseUnitTestRuntimeClasspath - Resolved configuration for runti…

Modbus TCP协议介绍(ModbusTCP)

文章目录 理解Modbus TCP协议&#xff08;Understanding Modbus TCP Protocol&#xff09;简介&#xff08;Introduction to Modbus TCP&#xff09;历史背景&#xff08;Historical Context&#xff09;关键特性&#xff08;Key Features&#xff09; Modbus TCP协议结构&…