Android apk签名方法介绍
还望支持个人博客站:http://www.enjoytoday.cn
参考博客:http://www.enjoytoday.cn/posts/203
为什么要签名
在介绍签名方法之前,首先我们来了解下,android系统为何需要我们签名后才可安装运行apk,其实这个签名和我们生活中的信用卡签名并无本质不同,就是一个对apk身份的验证,对于apk的一种担责行为。apk前面采用加密算法(RSA或DSA)对apk加密验证以确保在apk安装运行之前的文件完整性和未被修改。
签名前的准备
签名其实说白了即使对文件进行加密,将整个文件给”锁起来”了。因此, apk前面前需要获取两个文件,一个是android已经编译成功 的apk文件,另一个即使apk的签名文件。当然,签名前你还是需要知道你的签名文件的签名基本参数的:别名和签名密码。所以在签名之前,我们需要做两个最基础的事情:一是编译生成apk文件,二是创建私有签名文件,apk文件编译胡不多赘述,主要来说如何生成一个签名文件。
签名文件的生成
签名文件的生成方式主要有两种,一种是工具式的可视化生成,一种是通过命令行方式生成。下面我主要介绍通过命令行方式生成一个前面文件*.jks.
命令行生成的前提是需要你已经成 功安装配置java运行时环境,生成签名证书使用的是java源码工具下的一个工具keytool,命令格式如下:
#keytool -genkey -alias keyname -keyalg RSA --validity 20000 -keystore keyname.jks -storepass storepass -keypass keypass
各个选项的含义如下所示:
-genkey : 生成.jks或.keystore文件
-alias :签名文件的别名,若需要导入eclipse对应用进行签名则需要设置为 androiddebugkey
-keyalg : 加密方式
-validity : 有效时间
-keystore : .jks或.keystore文件名
-storepass :store仓库密码,若需要导入eclipse对应用进行签名则需要设置为android
-keypass : .jks或.keystore文件的密码
命令运行后会显示一些需要你输入的信息,包括公司信息、个人地址、个人姓名等相关信息,显示如下:
最后确认后就会在当前目录生成一个keyname.jks前面文件,如此就完成了一个签名文件的创建过程 。
开始签名
命令行签名使用的是java自带工具jarsigner签名工具签名,签名使用使用的命令如下:
#jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore keyname.jks -signedjar. test.tspk release.apk keyname
如此就可成功将test.apk签名成功,输出签名成功后的apk文件release.apk.
查看签名
签名后我们可以通过keytool工具对我们的apk进行查看签名信息,结果会输出你签名时填入的相关信息,以及一个生成的sha1和md5值,命令如下:
#keytool -printcert -jarfile release.apk
结果显示如下:
签名者 #1:签名:所有者: C=US, O=Android, CN=Android Debug
发布者: C=US, O=Android, CN=Android Debug
序列号: 1
有效期开始日期: Sun May 15 02:14:14 CST 2016, 截止日期: Tue May 08 02:14:14 CST 2046
证书指纹:MD5: 7C:79:6B:BD:C5:CE:9C:A5:BB:3F:F2:20:39:6A:A7:B5SHA1: 4A:00:08:BE:CC:A6:9A:CE:7D:82:F5:84:C1:31:C6:19:99:12:84:53SHA256: A1:36:20:F4:E3:32:9C:32:F7:28:B1:8A:EB:15:42:37:1C:A5:10:47:47:A1:E2:12:AB:29:C5:62:35:05:C4:B3签名算法名称: SHA1withRSA版本: 1
转载于:https://www.cnblogs.com/amiko/p/7906232.html
Android apk签名方法介绍相关推荐
- Android apk签名方法
为了保证每个应用程序开发商合法ID,防止部分开放商可能通过使用相同的Package Name来混淆替换已经安装的程序,我们需要对我们发布的APK文件进行唯一签名,保证我们每次发布的版本的一致性(如自动 ...
- android apk 签名方法,[转载]Android apk签名的两种方法
为了保证每个应用程序开发商合法ID,防止部分开放商可能通过使用相同的Package Name来混淆替换已经安装的程序,我们需要对我们发布的APK文件进行唯一签名,保证我们每次发布的版本的一致性(如自动 ...
- Android apk签名获取方法
Android apk签名获取的一种方法,供大家参考 Windows(黑窗口)或Mac(终端)获取apk的签名: 1,先获取.jks文件路径(复制好备用) 2,在黑窗口或终端中输入 keytool - ...
- Android确认apk签名、给apk签名方法
1.确认apk签名方法:jarsigner -verify -verbose -certs ${your_apk}>log.txt 2.给apk签名: java -jar out/host/li ...
- Android APK 签名比对
Android APK 签名比对 转载请注明出处:http://www.blogjava.net/zh-weir/archive/2011/07/19/354663.html Android APK ...
- Android APK签名原理
Android APK 签名原理涉及到密码学的加密算法.数字签名.数字证书等基础知识,这里做个总结记录. 非对称加密 需要两个密钥,一个是公开密钥,另一个是私有密钥:一个用作加密的时候,另一个则用作解 ...
- 对Android apk 签名 --apksigner
Android自签名方法,仅作记录. 因 apksigner 签名工具支持V1和V2签名,所以选用它 进行手动签名: 步骤如下: 切到Android SDK/build-tools/SDK版本, 输入 ...
- Android APK签名 JKS 密钥库使用专用格式。建议使用 “keytool -importkeystore -srckeystore E:\xxxxxx- pkcs12“ 迁移到行业标准格式
Android Studio中进行签名 转载地址:Android APK签名 JKS 密钥库使用专用格式.建议使用 "keytool -importkeystore -srckeystore ...
- android软件更新模块实现的技术和方法,Android APK签名原理及方法
一 Android签名机制及原理 Android系统在安装APK的时候,首先会检验APK的签名,如果发现签名文件不存在或者校验签名失败,则会拒绝安装,所以应用程序在发布之前一定要进行签名.给APK签名 ...
最新文章
- 导师吐槽大会开始:自己招的学生,哭着也要带完
- Java 性能优化的五大技巧
- java调用百度推送详解,关于百度推送,请教一下大家
- CSS:给 input 中 type=text 设置CSS样式
- 哪些CSS是可以被继承的--简单整理
- 硬盘的原理以及SQL Server如何利用硬盘原理减少IO
- android 置顶窗口位置,Android 滑动悬浮置顶指南
- android复位机器人图片,安卓(Android)新图标!小绿机器人换脸啦
- 开发者需要理解的分布式原语
- 由于不能随便改路径,所以写在这里
- 飞秋(FeiQ)2012版择日发布
- SPring cloud (3)A Ribbon 负载均衡 配置初步
- Oracle 修改密码 解锁
- 一文读懂PCB品质体系认证
- Loadrunner教程–常用操做流程
- 新闻发布系统数据库设计
- 简单3小步,轻松搞定PS证件照换底色(有手就行)
- 如何搭建Telegram群机器人
- lodop打印html包含图片,使用lodop.js打印控件打印table并分页等
- :要求查询出每一个雇员的编号,姓名,工资,领导的姓名,部门名称及位置,工资所在公司的工资等级
热门文章
- 国外top10的aPaaS平台
- 大连有望设立第五个国家级新区
- 三枪齐发!中国移动正式吹响“5G集结号”
- 对软件工程师的理解_为什么需要作为软件工程师理解软件要求
- mysql千万级数据怎么删除,MySQL 快速删除大量数据(千万级别)的几种实践方案详解...
- 数字音乐市场上两大巨头的版权之争
- gis可达性分析步骤_CYD软件技能 | 城市动态设计分析制图 Design for the Urban Dynamics...
- Rust AES加密、解密工具
- 工业网站建设,工业制造网站制作方案
- OOA/OOD/OOP的区别