apk签名文件生成
一、生成签名文件
命令:
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签名文件生成的更多相关文章
- Android开发--apk的生成
0.前言 此方法为eclipse中生成apk的方法!!!! 1.生成ketstore 在命令提示符中找到java的jdk路径,例如: D:\study software\Java\jdk1.8.0_2 ...
- Android APK 签名文件MANIFEST.MF、CERT.SF、CERT.RSA分析
首先我们找一个已经签名的apk文件,修改后缀名为zip,然后解压.可以看到里面有一个META-INF文件夹,里面就是签名验证的文件.有三个文件MANIFEST.MF.CERT.SF.CERT.RSA分 ...
- 解决Android应用安装快完毕时提示签名冲突,android签名文件生成(转)
最近开发了一个Android手机应用,自己用Eclipse调试安装没问题,使用其他人调试生成的bin下的apk就会出现问题,安装到最后提示"安装签名冲突"错误,想了一下估计是没有给 ...
- 打包成apk,生成apk文件,上传到网站服务器提供链接下载
Android开发把项目打包成apk: 做完一个Android项目之后,如何才能把项目发布到Internet上供别人使用呢?我们需要将自己的程序打包成Android安装包文件--APK(Android ...
- svn 规范apk的生成命名
第一步:新建SVNVersion.gradle 放置于build.gradle统计目录下面 /*task svnversion { description 'Get SVN revision num ...
- Android Studio修改apk打包生成名称
在app的build.gradle文件的android{}括号里添加: android.applicationVariants.all { variant -> variant.outputs. ...
- Android jks 签名文件 生成
Android Win7 上使用cmd生成Jks cmd 命令 C:\Program Files\Java\jre1.8.0_111\bin>keytool -genkeypair -alias ...
- Android 生成含签名文件的apk安装包
做android开发时,必然需要打包生成apk文件,这样才能部署.作为一个完善的apk,必然少不了签名文件,否则下次系统无法进行更新. 一.签名文件的制作及打包生成APK文件 签名文件比较流行的制作方 ...
- 命令行创建Android应用,命令行生成签名文件,命令行查看签名信息,对APK包签名并编译运行
一.命令行创建Android应用 android create project -n HelloWorld -t android-22 -p HelloWorld1 -k org.crazyit.he ...
随机推荐
- 万能锁对象 EZ_BDCP2
万能锁对象 EZ_BDCP2 *&---------------------------------------------------------------------* *& F ...
- Golang 开发框架 gin 项目时笔记
1.模板引入时报错: func main() { router := gin.Default() router.LoadHTMLGlob("templates/**/*") rou ...
- rsync参数说明
参数说明: log file = /var/log/rsyncd.log #日志文件位置,启动rsync后自动产生这个文件,无需提前创建 pidfile = /var/run/rsyncd.pid ...
- PL/SQL链接Oracle数据库 导出表结构和表数据
打开pl/sql客户端(导出数据表结构) 在左侧 点击tabales 2 Tools-->Export User Objects,导出sql格式的文件 3 红色1 是你要选择导出的表,红色2 是 ...
- 《Tsinghua os mooc》第11~14讲 进程和线程
第十一讲 进程和线程 进程 vs 程序 程序 = 文件 (静态的可执行文件) 进程 = 执行中的程序 = 程序 + 执行状态 进程的组成包括程序.数据和进程控制块 同一个程序的多次执行过程对应为不同进 ...
- 图解JS
弱语言 数据类型 隐式转换 弱等于 严格等于 包装对象 字符串转为包装对象 类型检测 表达式 运算符 块 try...catch 对象结构 创建对象,原型链 属性读写 getter,setter 序列 ...
- Python 解LeetCode:606 Construct String from Binary Tree
题目描述:用先序遍历的方式把二叉树转换成字符串,其中结点用括号分割,具体示例见题目链接 思路: 先序遍历,先把根结点的值转化成字符串,然后递归的把左右子树的值转化成字符串 把1中的根结点和左右子结点的 ...
- jenkins sonarqube 代码检测部署
install pgsql and sonarqube docker run --name postgresqldb -e POSTGRES_USER=sonar -e POSTGRES_PASSWO ...
- logstash grok nginx log
#cat logstash.conf input { file { path => "/alidata/logs/nginx/appapi.dayutang.cn.access*.lo ...
- Python基础 第6章 抽象
1. 引言及抽象和结构 生成斐波那契数列的代码如下: fibs = [0, 1] num = int(input('How many num you want:')) for x in range(n ...