一、生成签名文件

命令:

keytool -genkey -v -keystore 签名文件名称.keystore -alias 签名文件别名 -keyalg RSA -keysize 2048 -validity 20000

例如:
keytool -genkey -v -keystore release-key.keystore -alias als-key -keyalg RSA -keysize 2048 -validity 20000
-keystore release-key.keystore       在当前目录下创建release-key.keystore签名文件
-alias als-key 文件别名为als-key,不配置则默认为mykey
-keyalg RSA -keysize 2048 采用的RSA算法生成2048位RSA密钥和签名证书
-validity 20000 证书的有效期是20000天

创建过程如图

二、使用签名文件签名

jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore 签名文件所在目录 apk文件所在目录 签名文件别名

注意文件存放路径的书写,不同工具路径书写方式不同

如果使用git工具Git Bash运行命令

$ jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore release-key.keystore /d/CordovaProjectIALP/platforms/android/app/build/outputs/apk/release/app-release-unsigned.apk ialp-key

如果使用Windows自带的命名工具

jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore release-key.keystore D:\CordovaProjectIALP\platforms\android\app\build\outputs\apk\release\app-release-unsigned.apk ialp-key

签名的时候要求输入密钥库的密码

当然如果将签名文件拷贝到apk所在目录下,就没有路径问题

进入文件所在目录

$ jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore release-key.keystore app-release-unsigned.apk ialp-key

Git Bash也可以配置快捷命令对apk进行签名

修改配置文件,添加快捷命令

$ vim ~/.bashrc
# 文件中添加以下命令
alias sign-ialp="jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore /d/CordovaProjectIALP/release-key.keystore /d/CordovaProjectIALP/platforms/android/app/build/outputs/apk/release/app-release-unsigned.apk ialp-key"
# 使配置文件立即生效
$ source ~/.bashrc
# 运行以下快捷命令即可对apk文件进行签名
$ sign-ialp

三、查看签名文件信息

命令:

keytool -list -v -keystore [签名文件]
$ keytool -list -v -keystore release-key.keystore

apk签名文件生成的更多相关文章

  1. Android开发--apk的生成

    0.前言 此方法为eclipse中生成apk的方法!!!! 1.生成ketstore 在命令提示符中找到java的jdk路径,例如: D:\study software\Java\jdk1.8.0_2 ...

  2. Android APK 签名文件MANIFEST.MF、CERT.SF、CERT.RSA分析

    首先我们找一个已经签名的apk文件,修改后缀名为zip,然后解压.可以看到里面有一个META-INF文件夹,里面就是签名验证的文件.有三个文件MANIFEST.MF.CERT.SF.CERT.RSA分 ...

  3. 解决Android应用安装快完毕时提示签名冲突,android签名文件生成(转)

    最近开发了一个Android手机应用,自己用Eclipse调试安装没问题,使用其他人调试生成的bin下的apk就会出现问题,安装到最后提示"安装签名冲突"错误,想了一下估计是没有给 ...

  4. 打包成apk,生成apk文件,上传到网站服务器提供链接下载

    Android开发把项目打包成apk: 做完一个Android项目之后,如何才能把项目发布到Internet上供别人使用呢?我们需要将自己的程序打包成Android安装包文件--APK(Android ...

  5. svn 规范apk的生成命名

    第一步:新建SVNVersion.gradle  放置于build.gradle统计目录下面 /*task svnversion { description 'Get SVN revision num ...

  6. Android Studio修改apk打包生成名称

    在app的build.gradle文件的android{}括号里添加: android.applicationVariants.all { variant -> variant.outputs. ...

  7. Android jks 签名文件 生成

    Android Win7 上使用cmd生成Jks cmd 命令 C:\Program Files\Java\jre1.8.0_111\bin>keytool -genkeypair -alias ...

  8. Android 生成含签名文件的apk安装包

    做android开发时,必然需要打包生成apk文件,这样才能部署.作为一个完善的apk,必然少不了签名文件,否则下次系统无法进行更新. 一.签名文件的制作及打包生成APK文件 签名文件比较流行的制作方 ...

  9. 命令行创建Android应用,命令行生成签名文件,命令行查看签名信息,对APK包签名并编译运行

    一.命令行创建Android应用 android create project -n HelloWorld -t android-22 -p HelloWorld1 -k org.crazyit.he ...

随机推荐

  1. 反查BOM, 找出它的上阶

    转自:https://blog.csdn.net/zhongguomao/article/details/80172441 查询物料的上阶方法有三: 1. CS15  可直接查出物料的上阶直至顶阶物料 ...

  2. .net视频截图功能,没测试

    /// <summary> /// @从视频文件截图,生成在视频文件所在文件夹 /// 在Web.Config 中需要两个前置配置项: /// 1.ffmpeg.exe文件的路径 ///  ...

  3. 记录git 软件库

    https://github.com/phpredis/phpredis   redis扩展 https://github.com/tecnickcom/tcpdf 生成PDF 后续......

  4. CentOS 7 安装wordpress

    1.安装php 要安装php 7,必须使用下面的命令在Centos7系统上安装并启用epel和remi存储库. 输入一下代码, yum install http://rpms.remirepo.net ...

  5. eNSP——RSTP的基础配置

    原理: RSTP把原来的5种状态缩减为3种.根据端口是否转发用户流量和学习MAC地址来划分:如果不转发用户流量也不学习MAC地址,那么端口状态就是Discarding状态;如果不转发用户流量但是学习M ...

  6. BS

  7. Linux下载安装mysql5.7教程

    首先下载mysql 的安装包,可以去官网下载,网址:https://dev.mysql.com/downloads/mysql/ 然后下滑,在这个地方选择你想要安装的版本: 这里我选择的5.7.点击进 ...

  8. 电子防抖(EIS)无效的相关修改

    [DESCRIPTION] 电子防抖(EIS)无效的相关修改 [SOLUTION] 电子防抖(EIS)无效,根据不同的版本,可以先查看是否已经做了相关修改.1. MT6580/MT6735平台请参考如 ...

  9. oracle调用函数的方式

    --方法1.PLSQL代码块 SQL> set serveroutput onSQL> declare 2 v_sal emp_pl.sal%type; 3 begin 4 v_sal : ...

  10. Netty框架原理

    用这张图表示的就是一个基本的Netty框架 通过创建两个线程池,一个负责接入, 一个负责处理 public class Start { public static void main(String[] ...