| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 移动开发 -> Android签名 (二) 制作签名文件 -> 正文阅读 |
|
[移动开发]Android签名 (二) 制作签名文件 |
你可能想知道?通过这篇博客可以解决哪些问题以及学到什么: ? 1.公司开发一个新的app,如何创建一个应用签名? ? 2.为了安全性,Android系统不想使用Google给的原生签名,如何定制系统签名? 这篇博客介绍了如何制作签名文件,首先介绍Android开发中使用到的签名文件类型,然后介绍系统签名如何制作,最后介绍不同IDE用到的签名文件如何制作。 目录 3.? pk8/x509.pem? ?: 用于Android系统的编译 一、Android的签名文件有三种类型,分别在以下情况使用1.? jks: 用于Android Studio编译全称为Java key store,jks也是Android Studio中创建签名文件的格式 2.? keystore: 用于Eclipse编译最早开发Android的时候的签名文件,目前开发Android都使用AS,而AS也兼容keystore. 3.? pk8/x509.pem? ?: 用于Android系统的编译这个是系统的签名文件,同样也可以给APK签名 二、制作pk8/x509.pem格式系统签名文件1.准备环境需要在linux系统中,且有编译Android源码的环境 2.制作过程1)生成签名文件 要对Android系统进行签名,需要生成四种类型的key文件:
我们就拿releasekey 为例简单介绍下生成过程 使用Android源码中自带的make_key工具来生成签名,路径为development/tools/make_key? 在Android系统源码根目录下,新建make_key_security目录,进入到该目录,执行下面的命令
执行命令时都会提示输入密码,这时不要输入密码,直接按Enter健;你想想如果在编译Android系统过程中要你不断输入密码进行确认,你是不是会疯掉!!!如下就会在make_key_security目录中生成密钥对 releasekey.pk8 (私钥) / releasekey.x509.pem (公钥)
同样步骤将命令中的releasekey换成?media/shared/platform,然后执行,生成的所有秘钥对如下:
2)介绍一下make_key的参数??? ../development/tools/make_key releasekey '/C=US/ST=California/L=Mountain View/O=Android/OU=Android/CN=Android/emailAddress=android@android.com' 这里要顺便介绍下make_key的参数。第一个参数是要生成key的名字,第二个参数是关于你公司的信息。key的名字很好理解,就是前面提到的4中类型的key,公司信息的参数比较多,它们的含义如下:
3.使用自定义签名1) 修改 /build/core/config.mk 中定义变量: DEFAULT_SYSTEM_DEV_CERTIFICATE := build/target/product/security/releasekey ? 2) 修改 /build/core/Makefile 中定义变量: ifeq ($(DEFAULT_SYSTEM_DEV_CERTIFICATE),build/target/product/security/releasekey) 4.检查自定义签名?查看签名文件信息:?
build.prop中可以查看到变量:
三、制作jks格式的签名文件1.用Android Studio生成签名文件 这个网上教材很多,我引用了两位博主的文章 https://blog.csdn.net/tzhenxiong/article/details/109901468 https://blog.csdn.net/anyanyan07/article/details/53493785 之前我会一直困惑为什么创建jks签名文件时要输入两套秘密(不是确认秘密哦),后来经过查阅资料和实操验证终于弄懂了,这里和大家分享以下: 你可以将jks理解为一个仓库,一个密钥仓库,其实keystore这个名字就很直观,访问这个仓库需要一个秘密; 这个仓库里面可以存放很多很多key,所以每一个key都需要有一个自己的名字alias,访问每个key都需要密码aliaspasswd,下面通过示意图说明: ?2.从系统签名文件转化而来 1)获取android平台key 2)生成platform.pem? 3)生成pkcs12 <pass:android> 对应pkcs12的密码,下一步需要用到
<-srcstorepass android>? ? ? ? 上一步生成的pkcs12密码
另外还将以上这些命令写成了一个脚本,只要将platform.pk8 platform.x509.pem放到对应目录下,然后运行脚本,输入对应参数即可,下载连接 四、制作keystore格式的签名文件1.从系统签名文件转化而来 ? ? 和制作jks的步骤相同 如果要查看生成的签名文件里面的签名信息,可以参考我的另外一篇博客 |
|
移动开发 最新文章 |
Vue3装载axios和element-ui |
android adb cmd |
【xcode】Xcode常用快捷键与技巧 |
Android开发中的线程池使用 |
Java 和 Android 的 Base64 |
Android 测试文字编码格式 |
微信小程序支付 |
安卓权限记录 |
知乎之自动养号 |
【Android Jetpack】DataStore |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 10:00:05- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |