文档章节

android apk 签名

 国仔饼
发布于 06/23 14:23
字数 362
阅读 9
收藏 0

创建key,需要用到keytool.exe (位于C:\Program Files\Java\jdk1.6.0_10\bin目录下),使用产生的key对apk签名用到的是jarsigner.exe (位于C:\Program Files\Java\jdk1.6.0_10\bin目录下),把上两个软件所在的目录添加到环境变量path。

虽然下面是给Android apk签名的例子,但是同样适用于jar。

1、生成密钥

打开cmd输入

C:\Documents and Settings\mzba>keytool -genkey -alias demo -keyalg RSA -validity 40000 -keystore demo.keystore

 

相关说明:

       -genkey             产生密钥

       -alias demo        别名demo

       -keyalg RSA       使用RSA算法对签名加密

       -validity 40000   有效期限4000天

       -keystore demo.keystore 

2、使用密钥签名

C:\Documents and Settings\mzba>jarsigner -verbose -keystore demo.keystore -signedjar demo_signed.apk demo.apk demo

相关说明:

 

       -verbose                                                         输出签名的详细信息

       -keystore  demo.keystore                                密钥库位置

       -signedjar demor_signed.apk demo.apk demo 正式签名,三个参数中依次为

                                                                                      签名后产生的文件  demo_signed.apk

                                                                                      要签名的文件    demo.apk

                                                                                      密钥库别名demo

注意:

签名时会要求你输入生成密钥时设置的密码。

如果签名时出现以下错误 jarsigner: 无法对 jar 进行签名: java.util.zip.ZipException: invalid entry compressed size (expected 1060 but got 1081 bytes),那说明apk已经签名,需要先将apk里的META-INF文件夹删除。

本文转载自:

共有 人打赏支持
粉丝 0
博文 28
码字总数 5730
作品 0
深圳
PhoneGap/Cordova Android应用签名发布系列问题处理收集

PhoneGap/Cordova Android应用签名发布注意事项 Android APK 签名比对 android获取签名,兼容5.0 Android APK 签名比对,防止软件被破解使用 用apktool和dex2jar反编译 Android proguard代码...

巴顿
2015/02/11
0
0
重新签名Android pre-install APK

重新签名Android pre-install APK Android,APK,签名Android, APK, 签名

迷糊
2011/01/20
0
2
Android及Robotium学习总结【环境变量,真机调试及根据id模拟按键】

Keyword:Android,Robotium,自动化测试,黑盒测试,已知id如何模拟按键 纯属爱好,最近学习了Android及其自动化测试,总算对Android有了个大概的了解。 毕业后就是用的C,从未用过java,并且...

AlexMahoneFBI
2014/10/27
0
0
Android通过源码编译apk获得系统权限

Android中的应用程序如何获得系统权限? 在 android 的 API中有提供 SystemClock.setCurrentTimeMillis()函数来修改系统时间,可惜无论你怎么调用这个函数都是没用的,无论模拟器还是真 机,...

lxp198837
2012/06/12
0
0
Android(React Native)打包apk

RN在打包前要生成bundle文件,否则打开app闪退 打开终端,进去项目打开服务:react-native start 进入项目android/app/src/main/目录下新建一个assets文件夹 再打开一个新的终端进入项目根目录...

Chason-洪
2017/10/30
0
0

没有更多内容

加载失败,请刷新页面

加载更多

你为什么在Redis里读到了本应过期的数据

一个事故的故事 晚上睡的正香突然被电话吵醒,对面是开发焦急的声音:我们的程序在访问redis的时候读到了本应过期的key导致整个业务逻辑出了问题,需要马上解决。 看到这里你可能会想:这是不...

IT--小哥
今天
2
0
祝大家节日快乐,阖家幸福! centos GnuTLS 漏洞

yum update -y gnutls 修复了GnuTLS 漏洞。更新到最新 gnutls.x86_64 0:2.12.23-22.el6 版本

yizhichao
昨天
5
0
Scrapy 1.5.0之选择器

构造选择器 Scrapy选择器是通过文本(Text)或 TextResponse 对象构造的 Selector 类的实例。 它根据输入类型自动选择最佳的解析规则(XML vs HTML): >>> from scrapy.selector import Sele...

Eappo_Geng
昨天
4
0
Windows下Git多账号配置,同一电脑多个ssh-key的管理

Windows下Git多账号配置,同一电脑多个ssh-key的管理   这一篇文章是对上一篇文章《Git-TortoiseGit完整配置流程》的拓展,所以需要对上一篇文章有所了解,当然直接往下看也可以,其中也有...

morpheusWB
昨天
5
0
中秋快乐!!!

HiBlock
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部