Android系统签名的制作与使用

目录

1. 📂 背景

2. 🔱 制作Android系统签名

步骤一:找到platform.pk8和platform.x509.pem签名文件

步骤二:下载keytool-importkeypair签名工具

步骤三:使用签名文件和签名工具生成.jks签名文件

3. ✅ 使用Android系统签名

步骤一:在项目的app模块根目录下新建signing.properties文件

步骤二:将生成的xxx.jks文件放在项目的app模块根目录下

步骤三:app模块build.gradle中新增签名信息

步骤四:运行应用即可使用系统签名

4. ⚛️ 手动给apk系统签名


1. 📂 背景

        系统应用以及使用sharedUserId为android.uid.system的应用,需要和系统的签名保持一致。

2. 🔱 制作Android系统签名

步骤一:找到platform.pk8和platform.x509.pem签名文件

        Android原生系统一般是放在 \build\target\product\security\ 目录下,如图:

       如果使用的设备厂商没有对这个改动过,则使用google给的这两个就行了;如果厂商做过处理,需要向厂商索取该文件(或者参考厂商文档找到此文件;或者在通过Search在项目中搜索这两个文件)。

步骤二:下载keytool-importkeypair签名工具

        下载路径:https://github.com/getfatday/keytool-importkeypair

步骤三:使用签名文件和签名工具生成.jks签名文件

  1. 在项目根目录下创建文件夹signApk,并将签名工具和签名文件都放到该文件夹下;
  2. 在该文件夹下创建signature.sh脚本文件,方便直接生成签名;
  3. 编写signature文件,如果是在windows下的话,双击便可以得到签名文件;如果是在linux环境下,可直接执行生成.jks签名文件的命令。

sh keytool-importkeypair -k ./xxx.jks -p myjks -pk8 platform.pk8 -cert platform.x509.pem -alias signApk

注:xxx.jks 是生成签名文件的名称,myjks 是签名的密码,signApk 是签名的别名。

3. ✅ 使用Android系统签名

步骤一:在项目的app模块根目录下新建signing.properties文件

KEY_STORE_FILE = xxx.jks
KEY_STORE_ALIAS = signApk
KEY_STORE_KEY_PASSWD = myjks
KEY_STORE_PASSWD = myjks

步骤二:将生成的xxx.jks文件放在项目的app模块根目录下

步骤三:app模块build.gradle中新增签名信息

Properties signingProps = new Properties()
signingProps.load(new FileInputStream(file("signing.properties")))android {signingConfigs {myKey {keyAlias signingProps['KEY_STORE_ALIAS']keyPassword signingProps['KEY_STORE_KEY_PASSWD']storeFile file(signingProps['KEY_STORE_FILE'])storePassword signingProps['KEY_STORE_PASSWD']v1SigningEnabled truev2SigningEnabled true}}buildTypes {release {minifyEnabled falsesigningConfig signingConfigs.myKeyproguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'}debug {minifyEnabled falsesigningConfig signingConfigs.myKeyproguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'}}
}

步骤四:运行应用即可使用系统签名

4. ⚛️ 手动给apk系统签名

        在当前 app-debug.apk 路径执行下,使用out/soong/host/linux-x86/framework/signapk.jar文件,运行下面java命令,生成系统签名后的 app-debug-signed.apk 。

java -Djava.library.path="/home/tianbinbin-Share/project目录/out/host/linux-x86/lib64" -jar /home/tianbinbin-Share/project目录/out/soong/host/linux-x86/framework/signapk.jar /home/tianbinbin-Share/project目录/build/target/product/security/platform.x509.pem /home/tianbinbin-Share/project目录/build/target/product/security/platform.pk8 app-debug.apk app-debug-signed.apk


1. 📂 背景

2. 🔱 制作Android系统签名

步骤一:找到platform.pk8和platform.x509.pem签名文件

步骤二:下载keytool-importkeypair签名工具

步骤三:使用签名文件和签名工具生成.jks签名文件

3. ✅ 使用Android系统签名

步骤一:在项目的app模块根目录下新建signing.properties文件

步骤二:将生成的xxx.jks文件放在项目的app模块根目录下

步骤三:app模块build.gradle中新增签名信息

步骤四:运行应用即可使用系统签名

4. ⚛️ 手动给apk系统签名

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

嵌入空间(Embedding Space)

摘要: 嵌入空间(Embedding Space)是一种在数学、机器学习和自然语言处理等领域广泛应用的概念。它指的是将原本复杂、离散或者高维的数据结构转换为一个连续的、低维向量空间的过程,使得这些数据能够在新的空间中以向量的形式表示…

AI_寻路系统_修改寻路网格体__下

虚幻引擎的 寻路系统(Navigation System) 向人工智能代理提供了寻路功能。为了能够找到开始位置和目的地之间的路径,从世界的碰撞几何结构生成了寻路网格体。 默认设置将寻路网格体细分为图块,以允许重建寻路网格体的本地化部件。…

FFplay播放参数详解决及示例

1. -version 查看版本 2. -buildconf 查看编译配置 3. -formats 显示所有支持的媒体格式 4. -muxers 查看所有的封装 5. -demuxers 查看所有支持的解封装

webots的安装和体验

刚知道webots是一个机器人仿真软件,好像离开硬件可以自己玩玩,而且有人形机器人的源代码,试试看吧。 Cyberbotics: Robotics simulation with Webotshttps://www.cyberbotics.com/ 官网下载,有windows版本,看上去好简…

学习JavaEE的日子 Day27 手撕HashMap底层原理

Day27 1.手撕HashMap底层原理(重点) public class Test01 {public static void main(String[] args) {// Float float1 new Float("0.0f"); // Float float2 new Float("0.0f"); // Float result float1/float2; // System.out.println(result);/…

Airbnb将禁止在房源内安装监控摄像头

在面临隐私问题后,Airbnb 最近更新了政策,全面禁止房东在出租屋内安装并使用室内安全监控摄像头。 修订后的政策将在全球范围内适用,并将于4 月 30 日生效。Airbnb 表示,做出这一改变是为了优先考虑客人的隐私并简化安全摄像头的规…

Android 13 源码编译及报错修复

下载AOSP指定分支 repo init -u git://aosp../platform/manifest -b android-13.0.0_r83 同步代码到本地 repo sync -c 初始化编译环境, 选择构建目标 source build/envsetup.sh lunch 选择需要构建的目标,此处以aosp_arm64-eng为例 进行固件编译 make -j12 期间编译…

基于Matlab的车牌识别算法,Matlab实现

博主简介: 专注、专一于Matlab图像处理学习、交流,matlab图像代码代做/项目合作可以联系(QQ:3249726188) 个人主页:Matlab_ImagePro-CSDN博客 原则:代码均由本人编写完成,非中介,提供…

代码随想录算法训练营第25天|16.组合总和III|17.电话号码的字母组合

代码随想录算法训练营第25天|16.组合总和III|17.电话号码的字母组合 216.组合总和III 如果把 组合问题理解了,本题就容易一些了。 题目链接/文章讲解:https://programmercarl.com/0216.%E7%BB%84%E5%90%88%E6%80%BB%E5%92%8CIII.html 视频讲解&#xf…

代码随想录算法训练营第41天 | 01背包问题(二维+一维) ,416. 分割等和子集

动态规划章节理论基础: https://programmercarl.com/%E5%8A%A8%E6%80%81%E8%A7%84%E5%88%92%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A1%80.html 01背包理论基础 链接:https://programmercarl.com/%E8%83%8C%E5%8C%85%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A1%8001%…

【Linux C | 多线程编程】线程的基础知识

😁博客主页😁:🚀https://blog.csdn.net/wkd_007🚀 🤑博客内容🤑:🍭嵌入式开发、Linux、C语言、C、数据结构、音视频🍭 🤣本文内容🤣&a…

【Linux系列】计算机系统中的架构与发行版:理解与区分

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

软件测试 自动化测试selenium 基础篇

文章目录 1. 什么是自动化测试?1.1 自动化分类 2. 什么是 Selenium ?3. 为什么使用 Selenium ?4. Selenium 工作原理5. Selenium 环境搭建 1. 什么是自动化测试? 将人工要做的测试工作进行转换,让代码去执行测试工作 …

使用PWM实现呼吸灯功能

CC表示的意思位捕获比较,CCR表示的是捕获比较寄存器 占空比等效于PWM模拟出来的电压的多少,占空比越大等效出的模拟电压越趋近于高电平,占空比越小等效出来的模拟电压越趋近于低电平,分辨率表示的是占空比变化的精细程度&#xf…

ChatGPT GPT4科研应用、数据分析与机器学习、论文高效写作、AI绘图技术

原文链接:ChatGPT GPT4科研应用、数据分析与机器学习、论文高效写作、AI绘图技术https://mp.weixin.qq.com/s?__bizMzUzNTczMDMxMg&mid2247596849&idx3&sn111d68286f9752008bca95a5ec575bb3&chksmfa823ad6cdf5b3c0c446eceb5cf29cccc3161d746bdd9f2…

【C++】类和对象终章

🔥博客主页: 小羊失眠啦. 🎥系列专栏:《C语言》 《数据结构》 《C》 《Linux》 《Cpolar》 ❤️感谢大家点赞👍收藏⭐评论✍️ 文章目录 一、初始化列表1.1 初始化列表的形式1.2 初始化列表的注意事项 二、explicit关键…

Halcon识别文字案例

识别文字并显示到页面上 read_image (Image, needle1.png) * 打开窗口 dev_open_window (0, 0, 512, 512, black, WindowHandle) dev_display (Image)* 画矩形 gen_rectangle1 (ROI_0, 52.4648, 99.0391, 256.758, 354.063) * 裁剪 reduce_domain (Image, ROI_0, ImageReduced)…

Unity Live Capture 中实现面部捕捉同步模型动画

Unity Face Capture 是一个强大的工具,可以帮助你快速轻松地将真实人脸表情捕捉到数字模型中。在本文中,我们将介绍如何在 Unity Face Capture 中实现面部捕捉同步模型动画。 安装 |实时捕获 |4.0.0 (unity3d.com) 安装软件插件 安装 Live Capture 软件…

合并多棵二叉搜索树

1932. 合并多棵二叉搜索树 困难 相关标签 相关企业 提示 给你 n 个 二叉搜索树的根节点 ,存储在数组 trees 中(下标从 0 开始),对应 n 棵不同的二叉搜索树。trees 中的每棵二叉搜索树 最多有 3 个节点 ,且不存在值…

【论文阅读】Diffused Heads: Diffusion Models Beat GANs on Talking-Face Generation

Diffused Heads: 扩散模型在说话人脸生成方面击败GANs paper:[2301.03396] Diffused Heads: Diffusion Models Beat GANs on Talking-Face Generation (arxiv.org) code:MStypulkowski/diffused-heads: Official repository for Diffused Heads: Diffu…