如何给apk文件签名(一)
来源:互联网 发布:大学老师 知乎 编辑:程序博客网 时间:2024/06/08 04:54
如何给apk文件签名(一)
2012-06-18 10:34 1994人阅读 评论(0)收藏 举报
androidjdk工具优化toolsjava
给apk文件签名主要分三步,创建证书(如果没有)-->签名-->优化(可选
)
> keytool -genkey -v -aliasCERT -keyalg RSA -keysize 2048 -validity 10000 -keystore CERT.keystore
创建过程需要输入一些标识信息和密码,一些重要的参数值说明如下(根据自己的需要要进行相应的修改):
CERT.keystore ---- 证书保存的文件名
CERT ---- 证书的别名
10000 ---- 10000天的有效期
2048 ---- 默认为1024 bits,Android 建议使用2048 bits或更高
其他的详细信息可以使用keytool -help查看帮助
证书生成后使用如下命令可以查看证书的信息:
> keytool -list -alias CERT -keystoreCERT.keystore 2)使用jdk的jarsigner工具对apk文件签名
> jarsigner -verbose -keystore CERT.keystore to_sign.apk CERT
签名过程需要输入证书的密码,一些重要的参数值说明如下(根据自己的需要要进行相应的修改):
CERT.keystore ---- 证书保存的文件名
CERT ---- 证书的别名
待签名的apk文件根根目录下如果有文件夹“META-INFO”,请先删除(重新签名就需要这样做)。
如果不想创建过程输出太多信息,可以删除“-verbose” 。
上述签名会直接覆盖原来的文件,如果不想被覆盖而签名为另外的新文件 signed.akp,
只需将 to_sign.apk 改为 -signedjar to_sign.apk signed.akp 即可。
签名后可以使用如下命令验证是否签名成功:
> jarsigner -verify to_sign.apk
如果需要查看更详细的验证信息,可修改为:
> jarsigner -certs -verbose -verify to_sign.apk
3)使用android sdk的zipalign工具优化已签名的apk文件
> zipalign -v 4 unaligned.apk aligned.apk
注意要在签名后再zipalign。这个工具不是jdk自带的,而是在%ANDROID_HOME%\tools\zipalign.exe。
例子:
为APK重新生成签名
1、将证书复制到与需要重新签名的apk文件相同的目录下2、进入该目录下执行以下语句
jarsigner -verbose -keystore CERT.keystore -signedjar weibo_signed.apk netease_microblog_android_unsigned.apk CERT
命令解释:
jarsigner是Java的签名工具,JDK自带
-verbose参数表示:显示出签名详细信息
-keystore表示使用当前目录中的android.keystore签名证书文件。
--signedjar weibo_signed.apk netease_microblog_android_unsigned.apk表示签名后生成的APK名称为 weibo_signed.apk,未签名的APK Android软件名称为netease_microblog_android_unsigned.apk
CERT: 表示签名文件的别名,生成证书的时候有书写
执行以上操作之后在目录下生成了weibo_signed.apk ,经过自己签名的APK文件
0 0
- 如何给apk文件签名(一)
- 如何给apk文件签名(一)
- 如何给apk文件签名(一)
- 如何给apk文件签名
- 如何给APK签名
- 给APK文件签名
- 给APK 文件签名
- android 给apk文件签名
- 给apk加签名文件
- Android-给apk文件签名
- 如何重新签名APK文件
- 如何重签名APK文件
- 如何给Android的apk重新签名
- android如何给apk重新签名
- android如何给apk重新签名
- 如何给apk手动重新打上签名
- APK_给APK文件签名方法
- 使用jarsigner给apk文件签名
- PHP扩展编写--windows 7 下
- 嵌入式linux的tftp安装配置及tftp命令用法
- c# WinForm开发 DataGridView控件的各种操作总结(单元格操作,属性设置)
- ubuntu下 c++代码调试需要使用-gstabs+选项
- Oracle DB 自动管理共享内存
- 如何给apk文件签名(一)
- Spring mvc中@RequestMapping 6个基本用法小结
- 开始博客之旅,有太多东西要学,有太多资源可用,希望这个博客能够真正帮助自己扩展知识面和提高技术水平~
- EditText属性
- java.lang.ClassNotFoundException: org.apache.commons.lang.StringUtils
- 导入runtime扩展NSObject,利用block在ViewController中来进行消息传递
- php函数
- Android中px dpi dip density densityDpi 的相关说明
- 线上幽灵:世界头号黑客米特尼克自传改