Android系统签名的制作与使用

news2024/11/16 9:24:07

目录

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 true
            v2SigningEnabled true
        }
    }

    buildTypes {
        release {
            minifyEnabled false
            signingConfig signingConfigs.myKey
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }

        debug {
            minifyEnabled false
            signingConfig signingConfigs.myKey
            proguardFiles 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://www.coloradmin.cn/o/1526784.html

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

相关文章

iPhone迎AI大革命:谷歌、OpenAI助苹果重塑智能巅峰

近日,有媒体报道称,苹果正积极寻求与谷歌和OpenAI展开合作,计划将这两家在全球人工智能领域具有领先地位的公司的大模型技术应用于iPhone的AI功能。这一合作将为iPhone带来革命性的智能体验,开启AI手机新篇章。 AI-321 | 专注于AI…

Linux-MDK can电机带导轨 C++封装

我使用的是MKS的52D can电机带导轨,现在我要根据电机说明书将运动指令封装,有一个限位开关, 闭合时高电平 滑块需要运动在限位开关左侧,所以限位归零的方向为顺时针 根据说明书,我要设置的命令应该是: ca…

【复现】【免费】基于多时间尺度滚动优化的多能源微网双层调度模型

目录 主要内容 部分代码 结果一览 1.原文结果 2.程序运行结果 下载链接 主要内容 该模型参考《Collaborative Autonomous Optimization of Interconnected Multi-Energy Systems with Two-Stage Transactive Control Framework》,主要解决的是一个…

蓝桥杯练习题——贡献法(隔板法)

1.孤独的照片 思路 孤独的区间一定有一头孤独的牛&#xff0c;考虑每头牛对区间的贡献是多少 #include<iostream> using namespace std; const int N 5e5 10; int n; string s;int main(){cin>>n>>s;long long res 0;for(int i 0; i < n; i){int l…

Matlab|面向低碳经济运行目标的多微网能量互联优化调度

目录 主要内容 优化流程 部分程序 结果一览 下载链接 主要内容 该程序为多微网协同优化调度模型&#xff0c;系统在保障综合效益的基础上&#xff0c;调度时优先协调微网与微网之间的能量流动&#xff0c;将与大电网的互联交互作为备用&#xff0c;降低微网与大电…

C语言 数组的应用————扫雷

前言 在上一篇博客中我们实现了简单的三子棋小游戏&#xff0c;初步运用了二维数组&#xff0c;今天还是用二维数组来实现另一个小游戏——扫雷的基础版本&#xff0c;写这两个小游戏的目的主要是理解并运用数组&#xff0c;同时巩固前面学习的知识比如循环和函数等等&#xf…

分享一个不错的three.js开源项目

项目将three.js相关内容封装为相应库 很值得学习&#xff0c;可以模仿项目学习three.js vue-vite-three.js threejs-park: 基于vue3&#xff0c;threeJS智慧园区 threejs-park

YOLOv9改进策略:注意力机制 | 用于微小目标检测的上下文增强和特征细化网络ContextAggregation,助力小目标检测,暴力涨点

&#x1f4a1;&#x1f4a1;&#x1f4a1;本文改进内容&#xff1a;用于微小目标检测的上下文增强和特征细化网络ContextAggregation&#xff0c;助力小目标检测 yolov9-c-ContextAggregation summary: 971 layers, 51002153 parameters, 51002121 gradients, 238.9 GFLOPs 改…

ChatGPT登陆提示:“Please unblock challenges.cloudflare.com to proceed…”

ChatGPT登陆时提示&#xff1a;“Please unblock challenges.cloudflare.com to proceed”&#xff0c; 说明&#xff1a;请解除对challenges.cloudflare.com的屏蔽以继续 原因及解决方法&#xff1a; 1、出现这个问题&#xff0c;一般都是网络和本地环境问题&#xff0c;可以…

使用Nginx配置实现请求的限流操作

概述 限流&#xff08;Rate Limitting&#xff09;是服务降级的一种方式&#xff0c;通过限制系统的输入和输出流量以达到保护系统的目的。 比如我们的网站暴露在公网环境中&#xff0c;除了用户的正常访问&#xff0c;网络爬虫、恶意攻击或者大促等突发流量都可能都会对系统造…

Kotlin进阶之协程从上车到起飞

公众号「稀有猿诉」 原文链接 Kotlin进阶之协程从上车到起飞 通过前面的一篇文章我们理解了协程的基本概念&#xff0c;学会协程的基本使用方法&#xff0c;算是正式入门了&#xff0c;接下来就是要深入的学习技术细节和高级使用方法&#xff0c;以期完全掌握Kotlin协程…

【推荐系统】NCF神经协同过滤

NCF框架 NCF框架是本文要实现的3个模型的主体结构。 首先是输入层&#xff0c;分别包含两个特征向量 v u v_u vu​和 v i v_i vi​&#xff0c;描述了用户u和物品i。输入仅由一个用户向量和一个物品向量构成&#xff0c;它们分别是以one-hot编码的二值化稀疏向量。 接着是Em…

若依 ruoyi-cloud [网关异常处理]请求路径:/system/user/getInfo,异常信息:404

这里遇到的情况是因为nacos中的配置文件与项目启动时的编码不一样&#xff0c;若配置文件中有中文注释&#xff0c;那么用idea启动项目的时候&#xff0c;在参数中加上 -Dfile.encodingutf-8 &#xff0c;保持编码一致&#xff0c;&#xff08;用中文注释的配置文件&#xff0c…

SCI一区 | Matlab实现RIME-TCN-BiGRU-Attention霜冰算法优化时间卷积双向门控循环单元融合注意力机制多变量时间序列预测

SCI一区 | Matlab实现RIME-TCN-BiGRU-Attention霜冰算法优化时间卷积双向门控循环单元融合注意力机制多变量时间序列预测 目录 SCI一区 | Matlab实现RIME-TCN-BiGRU-Attention霜冰算法优化时间卷积双向门控循环单元融合注意力机制多变量时间序列预测预测效果基本介绍模型描述程…

备战蓝桥杯Day31 - 真题-管道

题目描述 解题思路 这个问题可以视为一个水波在管道中传播的问题&#xff0c;其中水波以单位速度传播。阀门在 S 时刻打开&#xff0c;水流以单位速度流向管道的右侧&#xff0c;每个传感器位于每段管道的中心。对于位于 Li 的阀门&#xff0c;在 Ti 时刻打开时&#xff0c;水…

Stripe Android 购买集成

图片丢了来这里看&#xff1a;https://juejin.cn/post/7347220605610541091 1. 准备事项 Stripe 账号域名以及配套的网站Stripe 账号付款信息公钥和私钥配置产品以及价格 这些步骤可以看这篇&#xff1a;Stripe Web 购买集成 3. 分析一下流程 客户端集成和 Web 端集成有挺…

使用Python进行数据库连接与操作SQLite和MySQL【第144篇—SQLite和MySQL】

&#x1f47d;发现宝藏 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。【点击进入巨牛的人工智能学习网站】。 使用Python进行数据库连接与操作&#xff1a;SQLite和MySQL 在现代应用程序开发中&#xf…

8年测试总结,自动化测试必要注意点+自动化测试框架(汇总)

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 1、开始自动化测试…

win修改图标自定义QQ桌面图标

当安装了TIM后&#xff0c;想把图标改成QQ 图标见顶部&#xff0c;或通过网盘下载 提取码&#xff1a;9Ayc 操作步骤&#xff1a; 1.桌面右键图标&#xff0c;点击属性 2.选择快捷方式-更改图标 3.浏览选择下载的ico图标即可

2024最新阿里云幻兽帕鲁搭建服务器_Palworld联机多人游戏

玩转幻兽帕鲁服务器&#xff0c;阿里云推出新手0基础一键部署幻兽帕鲁服务器教程&#xff0c;傻瓜式一键部署&#xff0c;3分钟即可成功创建一台Palworld专属服务器&#xff0c;成本仅需26元&#xff0c;阿里云服务器网aliyunfuwuqi.com分享2024年新版基于阿里云搭建幻兽帕鲁服…