ionic andorid apk 签名, 查看签名MD5
ionic cordova build android生成的是带签名的android-debug.apk, 这个是可以在手机上安装的, 但是换个电脑打包这个签名就不一样了, 这样就不能直接替换安装了, 需要卸载了再安装.
ionic cordova build android --release 生成的是android-release-unsigned.apk, 这个apk是没有签名的, 无法安装到手机, 需要我们签名
https://blog.csdn.net/jiangwei0910410003/article/details/50402000 - 深度解析
https://www.jianshu.com/p/286d2b372334
https://www.cnblogs.com/share123/p/5900583.html
http://blog.csdn.net/maxbalance/article/details/49157579
给apk签名一共要用到3个工具,或者说3个命令,分别是:keytool、jarsigner和zipalign,下面是对这3个工具的简单介绍:
1)keytool:生成数字证书,即密钥,也就是上面说到的扩展名为.keystore的那类文件;JDK包含
2)jarsigner:使用数字证书给apk文件签名;JDK包含
3)zipalign:对签名后的apk进行优化(非必须),提高与Android系统交互的效率(Android SDK1.6版本开始包含)
1. 生成keystore文件, 中间输入的密码牢记
keytool -genkey -v -keystore mark.keystore -alias mark.keystore -keyalg RSA -validity 20000
2. 对apk签名
前面的是生成的apk文件, 后面的是要签名的apk路径, 可以相对和绝对
jarsigner -verbose -keystore mark.keystore -signedjar mark_signed.apk d:/GitHub/qqtr/apk/android-release-unsigned.apk mark.keystore
3. 查看证书信息 - 私钥信息
将签名后的apk解压, 进入解压的目录, 执行下面的命令
keytool -printcert -file META-INF/*.RSA
所有者: CN=mark, OU=mark, O=mark, L=SZ, ST=guangdong, C=CN
发布者: CN=mark, OU=mark, O=mark, L=SZ, ST=guangdong, C=CN
序列号: 4b8b5121
有效期开始日期: Tue Dec 26 13:36:45 CST 2017, 截止日期: Wed Sep 28 13:36:45 CST 2072
证书指纹(私钥Hash, 用GenSignature看到的就是这个MD5):
MD5: D6:BF:74:FA:B6:29:2C:D8:9F:45:0A:8E:B2:7F:6D:97
SHA1: 93:2B:E9:CC:6E:41:01:A7:B7:7C:CC:DC:80:A9:6B:29:25:DB:A8:E9
SHA256: 89:37:59:99:FA:36:57:52:E6:B3:2D:82:29:C0:F7:FF:B3:65:5F:72:8A:86:D4:6C:41:44:DF:C4:2E:CE:CE:53
签名算法名称: SHA256withRSA
版本: 3
4. APP工具查看证书信息
使用下面这个APP, 通过包名查看任意APP的签名值
https://files.cnblogs.com/files/wancy86/Gen_Signature_Android2.apk
5. 查看APP的实际签名信息
解压APK后查看 \META-INF\XXXX.RSA中的内容
这里我们看到的都是二进制文件,因为RSA文件加密了,所以我们需要用openssl命令才能查看其内容
openssl pkcs7 -inform DER -in XXXX.RSA -noout -print_certs –text
ionic andorid apk 签名, 查看签名MD5的更多相关文章
- 查看APK包名签名等信息
有些游戏第三方比如分享需要配置游戏包名和签名,不同渠道包名签名又不同,所以时常需要查看不同apk包等签名信息,之前是使用等微博开放平台的手机客户端查看apk签名,前提是知道包名,网上找了下查看签名和包 ...
- android获取未安装APK签名信息及MD5指纹
站在巨人的肩膀上写博客: http://blog.csdn.net/wulianghuan/article/details/18400581 http://www.jb51.net/article/7 ...
- android 推断Apk是否签名和 签名是否一致
推断Apk是否签名 用命令:jarsigner -verify -verbose -certs <apk文件> 假设有Android Debug字樣就是debug 假设已经签名: [证书的 ...
- apk的重签名
1. 生成Android APK包签名证书 1). 在doc中切换到jdk的bin目录 cd C:\Program Files\Java\jdk1.6.0_18\bin 2). ...
- Android 验证APK是否已经签名或是否是Debug签名
https://source.android.google.cn/ http://www.android-doc.com/tools/publishing/app-signing.html Signi ...
- 转 对APK进行重签名
1. 生成Android APK包签名证书1). 在doc中切换到jdk的bin目录cd C:\Program Files\Java\jdk1.6.0_18\bin2). 运 ...
- ionic安卓打包apk--安卓签名
上周项目上线,在网上看了看打包的博客,感觉不是很清晰我自己来总结下 首先,我们在项目的根目录下 build android apk 的时候执行的命令一定要是 ionic build android - ...
- apk增加系统签名的方法
1.命令行方法给apk加系统签名在Linux环境:java -Djava.library.path=. -jar signapk.jar platform.x509.pem platform.pk8 ...
- mac下自己实现re-sign.jar对apk进行重签名
利用Robotinum对给的apk文件进行自动化测试,在不知道源码的情况下,只有apk文件如何进行自动化测试呢? 首先需要对apk文件进行重签名,并获得该apk文件的包名和程序入口的类名. 最开始网上 ...
随机推荐
- IDEA创建SpringBoot项目
创建SpringBoot有三种方式: 方式一:(常用方式)
- 利用Python中的mock库对Python代码进行模拟测试
这篇文章主要介绍了利用Python中的mock库对Python代码进行模拟测试,mock库自从Python3.3依赖成为了Python的内置库,本文也等于介绍了该库的用法,需要的朋友可以参考下 ...
- Flume配置文件写法总结
一.agent 第一步是定义agent(代理)及agent下的sources.channels.sinks的简称,如下: a1.sources = r1 a1.sinks = k1 a1.channe ...
- java接口签名(Signature)实现方案续
一.前言 由于之前写过的一片文章 (java接口签名(Signature)实现方案 )收获了很多好评,此次来说一下另一种简单粗暴的签名方案.相对于之前的签名方案,对body.paramenter.pa ...
- Java 实现String语句的执行(Jexl)
https://www.jianshu.com/p/1000719e49fa 1.maven 导入库 <dependency> <groupId>org.apache.comm ...
- SpringBoot整合mongoDB
MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的. 这一片文章介绍一个springboot整合mongodb,如果你了解整合mysql之类的 ...
- YOLO系列:YOLO v3解析
本文好多内容转载自 https://blog.csdn.net/leviopku/article/details/82660381 yolo_v3 提供替换backbone.要想性能牛叉,backbo ...
- BZOJ.3676.[APIO2014]回文串(回文树)
BZOJ 洛谷 很久之前写(抄)过一个Hash+Manacher的做法,当时十分懵逼=-= 然而是道回文树模板题. 回文树教程可以看这里(真的挺妙的). 顺便再放上MilkyWay的笔记~ //351 ...
- IDEA中的常用设置
ps:对于开发工具,不同的开发人员有不同的设置喜好,这里介绍的是我个人的配置,不喜勿喷. Appearance:个人喜欢全黑主题,雅黑字体 背景图片, 效果如下,编写代码的时候有个自己喜欢的背景图片, ...
- [OPENCV]cvHoughLines2使用说明
1.cvHoughLines2函数定义: CvSeq *cvHoughLines2 { CvArr *image, void *line_storage, int method, double rho ...