Android APK生成证书并签名方法

android cordova keystore android证书签名 阅读:925 时间:2018年09月20日

Android开发者可能对此很熟悉。使用Cordova等工具初试Hybird开发的前端同学可能就并不了解了,记录一下Ionic-cli / cordova项目打包APK后的签名详细过程共参考。整个流程为:打包release版本的APK -> 生成keystore证...

Android开发者可能对此很熟悉。使用Cordova等工具初试Hybird开发的前端同学可能就并不了解了,记录一下Ionic-cli / cordova项目打包APK后的签名详细过程共参考:

整个流程为:打包release版本的APK -> 生成keystore证书 -> 使用keystore证书签名APK -> 发布到应用市场

这里我们只关注生成证书与签名部分。

一、【前置环境准备】

电脑上安装了Java JDK与Android SDK,配置好环境变量等。做Android这步应该都是好的,如果没装自行百度。

二、【生成keystore证书】

Android APK的keystore证书不收费,不需要申请,可以自己生成。

首先我们要使用keytool生成keystore证书。

keytool已经集成在JDK中了。在命令行输入命令:

Bash
keytool -genkey -v -keystore myApp.keystore -alias myApp.keystore -keyalg RSA -validity 30000

运行一下试试

命令详细说明

key dec
keytool  工具名称(固定写法)
)-genkey 执行的是生成数字证书操作(固定写法)
-v 打印生成证书的详细信息
-keystore myApp.keystore 生成的证书的文件名为"myApp.keystore"(根据需求,设置你的证书名)
alias myApp.keystore 证书的别名为"myApp.keystore"。(一般和上面的文件名相同,可以不同,但要记好,签名时会用(A))
-keyalg RSA 生成密钥文件采用的算法为RSA(固定写法)
-validity 3000 该数字证书的有效期为30000天,30000天之后该证书将失效

按格式执行命令,

第一步会要求创建一个密钥。自己输入一个并记好。输入后并不会显示在窗口中,直接回车后,要求再次输入,重复输入后回车。

然后按提示填写各个问题。

最后在生成证书时会要求输入一个密钥,比如 : android 这个密钥是后面签名要用到的务必记好(B),建议与上面密钥相同。输入后回车

就可以在当前命令行的位置生成如:"myApp.keystore"的证书文件。

过程如图:

三、【给APK签名】

2. 把apk 与 myApp.keystore 放在同一目录下(不放在同一目录下也可以。放同目录下省去了配置路径的麻烦)

3. 在该目录下执行命令:

Bash
jarsigner -verbose -keystore myApp.keystore -signedjar android-release-signed.apk android-release-unsigned.apk myApp.keystore

运行一下试试

命令详细说明

key dec
jarsigner 工具称名(固定写法)
-verbose 显示出签名详细信息
-keystore myApp.keystore myApp.keystore 要使用的签名证书文件
-signedjar android-release-signed.apk 签名后的文件名
android-release-unsigned.apk 要签名的文件
myApp.keystore 别名,即(A)步中的别名

4. 执行上面命令会要求输入签名密码,比如 android (上面(B)位置提到的)后回车,会在同目录下生成一个签好名的的android-release-signed.apk即为可发布的签名包

过程如图:

中间详细信息截图太长,省略

Android APK生成证书并签名方法的更多相关文章

  1. openssl生成证书及签名

    第一步,生成私钥 $ openssl genrsa -out privatekey.pem 2048 查看生成的私钥内容 $ file privatekey.pem privatekey.pem: P ...

  2. Android Studio生成签名文件,自动签名,以及获取SHA1和MD5值

    转载请标明出处:http://blog.csdn.net/donkor_/article/details/53487133 前言: 作为谷歌在2013年为开发者提供的IDE环境工具Android St ...

  3. Android APK打包流程

    简单build流程图 官网给了我们一张非常简单的编译.打包.apk生成内容以及签名的图片.图片大体介绍了从Project到运行到设备或者模拟器的一个大体流程,我们也从中看到一个完整的apk包含如下内容 ...

  4. android apk壳

    壳对于有过pc端加解密经验的同学来说并不陌生,android世界中的壳也是相同的存在.看下图(exe = dex):    概念清楚罗,我们就说下:壳最本质的功能就是实现加载器.你看加壳后,系统是先执 ...

  5. eclipse将android项目生成apk并且给apk签名

    转载:http://www.cnblogs.com/tianguook/archive/2012/09/27/2705724.html 生成apk最懒惰的方法是:只要你运行过android项目,到工作 ...

  6. Android : apk签名的多种方法以及key的配置

    方法一:使用Android SDK中的签名工具给apk签名: (1)Android源码的 build/target/product/security/ 目录下有 media.pk8.media.x50 ...

  7. [转]Android APK签名原理及方法

    准备知识:数据摘要 这个知识点很好理解,百度百科即可,其实他也是一种算法,就是对一个数据源进行一个算法之后得到一个摘要,也叫作数据指纹,不同的数据源,数据指纹肯定不一样,就和人一样. 消息摘要算法(M ...

  8. Android apk签名方法介绍

    还望支持个人博客站:http://www.enjoytoday.cn 参考博客:http://www.enjoytoday.cn/posts/203 为什么要签名 在介绍签名方法之前,首先我们来了解下 ...

  9. (转)在eclipse中将android项目生成apk并且给apk签名

    转:http://www.cnblogs.com/tianguook/archive/2012/09/27/2705724.html 生成apk最懒惰的方法是:只要你运行过android项目,到工作目 ...

随机推荐

  1. spring 简述

    Spring的发展 1.1. Spring1.x 时代 在Spring1.x时代,都是通过xml文件配置bean,随着项目的不断扩大,需要将xml配置分放到不同的配置文件中,需要频繁的在java类和x ...

  2. [10.26_P2] 最短路 (单源最短路应用)

    单源最短路问题拓展 Description 给你一张图,图上有 n 个点,m 条边,要你找到两个点,使其最短路恰好包含给定的 k 个点.输出这条最短路的长度,输入保证有解. 输入格式 第一行两个数 n ...

  3. URAL1099 Work Scheduling —— 一般图匹配带花树

    题目链接:https://vjudge.net/problem/URAL-1099 1099. Work Scheduling Time limit: 0.5 secondMemory limit: ...

  4. Android Studio3.1.0升级问题记录

    每次升级Android Studio时,一般情况下Gradle版本的也会相应的升级,我之前Android Studio 3.0.1.Gradle 是4.1升级后为:Android Studio 3.1 ...

  5. ACTION 中 单表查询语句 SQL写法

    JSP页面 <tr> <td class="STYLE1"> <div align="center"> // 单击事件 调用 ...

  6. Asp.net Mvc 数据库上下文初始化器

    在Asp.net Mvc 和Entity FrameWork程序中,如果数据库不存在,EF默认的行为是新建一个数据库.如果模型类与已有的数据库不匹配的时候,会抛出一个异常. 通过指定数据库上下文对象初 ...

  7. thinkphp不能够将ueditor中的html文本显示

    因为这个问题花费了我好长时间,非常的急躁.fuck!! 这次我首先在富文本框中输入了一些文本,这些文本是带有样式的,比如是代码.然后存入数据库,但是当我再一次将它取出来打算放入富文本框中的时候,马丹, ...

  8. 算法复习周------“动态规划之‘最长公共子序列’”&&《计蒜课》---最长公共子串题解

    问题描述: 这个问题其实很容易理解.就是给你两个序列X={x1,x2,x3......xm} Y={y1,y2,y3......ym},要求找出X和Y的一个最长的公共子序列. 例:Xi={A, B, ...

  9. bzoj 1072: [SCOI2007]排列perm【状压dp】

    先写了个next_permutation结果T了,于是开始写状压 设f[s][i]为选取状态为s,选的数模d为i的方案数,去重的话直接除以每个数字的出现次数的阶乘即可 #include<iost ...

  10. sql server 查看版本

    SELECT SERVERPROPERTY('productversion'), SERVERPROPERTY ('productlevel'),SERVERPROPERTY ('edition') ...