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的更多相关文章

  1. 查看APK包名签名等信息

    有些游戏第三方比如分享需要配置游戏包名和签名,不同渠道包名签名又不同,所以时常需要查看不同apk包等签名信息,之前是使用等微博开放平台的手机客户端查看apk签名,前提是知道包名,网上找了下查看签名和包 ...

  2. android获取未安装APK签名信息及MD5指纹

    站在巨人的肩膀上写博客: http://blog.csdn.net/wulianghuan/article/details/18400581 http://www.jb51.net/article/7 ...

  3. android 推断Apk是否签名和 签名是否一致

    推断Apk是否签名 用命令:jarsigner -verify -verbose -certs <apk文件> 假设有Android Debug字樣就是debug 假设已经签名: [证书的 ...

  4. apk的重签名

    1.      生成Android APK包签名证书 1).     在doc中切换到jdk的bin目录 cd C:\Program Files\Java\jdk1.6.0_18\bin 2).    ...

  5. Android 验证APK是否已经签名或是否是Debug签名

    https://source.android.google.cn/ http://www.android-doc.com/tools/publishing/app-signing.html Signi ...

  6. 转 对APK进行重签名

    1.      生成Android APK包签名证书1).     在doc中切换到jdk的bin目录cd C:\Program Files\Java\jdk1.6.0_18\bin2).     运 ...

  7. ionic安卓打包apk--安卓签名

    上周项目上线,在网上看了看打包的博客,感觉不是很清晰我自己来总结下 首先,我们在项目的根目录下 build android apk 的时候执行的命令一定要是 ionic build android - ...

  8. apk增加系统签名的方法

    1.命令行方法给apk加系统签名在Linux环境:java -Djava.library.path=. -jar signapk.jar platform.x509.pem platform.pk8 ...

  9. mac下自己实现re-sign.jar对apk进行重签名

    利用Robotinum对给的apk文件进行自动化测试,在不知道源码的情况下,只有apk文件如何进行自动化测试呢? 首先需要对apk文件进行重签名,并获得该apk文件的包名和程序入口的类名. 最开始网上 ...

随机推荐

  1. Spring日记_02之 json、javaBean、.do、MySql、MyBatis 环境搭建结束

    JSON Json是JavaScript直接量语法 无参构造方法直接 Alt + \ 就可以提示添加 Project – Clean 浏览器向服务器发送请求,服务器中的Spring中的SpringMV ...

  2. 总结TCP为什么三次握手四次挥手

    为什么三次握手,而不是两次或者四次五次? 2019/3/4更新: 在阅读了很多技术博客后,发先大家对为什么三次握手不是两次众说纷纭:我觉得说的最好的是英文文章对TCP的解读.TCP和UDP的区别就是可 ...

  3. java反射对实体类取值和赋值

    public static void checkDesignerEdit(Object dtos) throws Exception { Class dtosClass = dtos.getClass ...

  4. bootstrapTable

    一个详细的教程 table参数 bootstrap table使用总结 BootstrapTable使用实例 事件event 事件函数的用法: 方法1 $('#table').bootstrapTab ...

  5. 最佳linux文件WINDOWS上传下载方法

    通常,利用SSH管理远程Linux服务器时,经常需要与本地交互文件.当然,我们可以利用FTP方式,比如通过Filezilla客户端软件.不过直接使用SSH软件(SecureCRT.Xshell)自带的 ...

  6. Sublime Text3搭建PHP开发环境

    Sublime Text3搭建PHP开发环境 本文主要给大家分享了关于Sublime Text3搭建PHP开发环境 ,感兴趣的小伙伴可以做一下参考 一.Sublime text3安装 到官网http: ...

  7. 003.MySQL高可用主从复制新增slave

    一 基础环境 主机名 系统版本 MySQL版本 主机IP master CentOS 6.8 MySQL 5.6 172.24.8.10 slave01 CentOS 6.8 MySQL 5.6 17 ...

  8. Squid正向代理(编译安装)

    编译安装 版本为squid-3.5.27 系统为Centos6.5 依赖环境 yum install -y perl gcc*autoconf automake make sudo wget libx ...

  9. MySql基础笔记(一)Mysql快速入门

    Mysql快速入门 一)基本概念 1)表 行被称为记录,是组织数据的单位.列被称为字段,每一列表示记录的一个属性. 2)主键 主键用于唯一的标识表中的每一条记录.可以定义表中的一列或者多列为主键, 但 ...

  10. Shell脚本笔记(一)一些零碎的基础知识

    一些零碎的基础知识 一.认识Shell脚本 一)相关概念 Shell是一种命令解释器,作用是按次序执行(遇到子脚本,先执行子脚本的命令)用户输入的命令和程序. Shell脚本语言是弱类型语言,与其他脚 ...