Android学习第三天-签名常用命令
由于怕篇幅过长,所以把这个打包常用命令分开成两篇博文来进行讲解,下面我们直接进入主题吧。
8.keytool
这是我们JDK自带的密钥和证书管理工具
命令: -certreq 生成证书请求 -changealias 更改条目的别名 -delete 删除条目 -exportcert 导出证书 -genkeypair 生成密钥对 -genseckey 生成对称密钥 -gencert 根据证书请求生成证书 -importcert 导入证书或证书链 -importkeystore 从其他密钥库导入一个或所有条目 -keypasswd 更改条目的密钥口令 -list 列出密钥库中的条目 -printcert 打印证书内容 -printcertreq 打印证书请求的内容 -printcrl 打印 CRL 文件的内容 -storepasswd 更改密钥库的存储口令
一般情况下,我们都是直接通过以下格式的命令进行证书生成:
keytool -genkeypair -alias <整数的别名>-keyalg RSA -validity <有效天数> -keystore <keystore文件的路径+文件名>.keystore
比如生成一个别名为 tbb 证书名字为tbb.keystore的证书:
keytool -genkeypair -alias tbb -keyalg RSA -validity 180 -keystore d:\tbb.keystore
执行该命令后,按照提示进行密码等情况的输入即可。
9.jarsigner
使用这个工具我们可以给apk进行签名:
用法: jarsigner [选项] jar文件 别名 jarsigner -verify [选项] jar文件 [别名...] [-keystore <url>] 密钥库位置 [-storepass <口令>] 用于密钥库完整性的口令 [-storetype <类型>] 密钥库类型 [-keypass <口令>] 私有密钥的口令 (如果不同) [-certchain <文件>] 替代证书链文件的名称 [-sigfile <文件>] .SF/.DSA 文件的名称 [-signedjar <文件>] 已签名的 JAR 文件的名称 [-digestalg <算法>] 摘要算法的名称 [-sigalg <算法>] 签名算法的名称 [-verify] 验证已签名的 JAR 文件 [-verbose[:子选项]] 签名/验证时输出详细信息。 子选项可以是 all, grouped 或 summary [-certs] 输出详细信息和验证时显示证书 [-tsa <url>] 时间戳颁发机构的位置 [-tsacert <别名>] 时间戳颁发机构的公共密钥证书 [-altsigner <类>] 替代的签名机制的类名 [-altsignerpath <路径列表>] 替代的签名机制的位置 [-internalsf] 在签名块内包含 .SF 文件 [-sectionsonly] 不计算整个清单的散列 [-protected] 密钥库具有受保护验证路径 [-providerName <名称>] 提供方名称 [-providerClass <类> 加密服务提供方的名称 [-providerArg <参数>]]... 主类文件和构造器参数 [-strict] 将警告视为错误
一般情况下,对apk文件进行签名的命令格式为:
jarsigner -verbose -keystore <证书所在的路径> -signedjar <签名后apk的名字> <需要签名的apk> <证书别名>
-verbose : 指定生成详细输出
下面举一个例子,为我们前面博文中建立的xiaoxuetu.apk进行签名:
E:\Workspaces\android\xiaoxuetu>jarsigner -verbose -keystore tbb.keystore -signedjar xiaoxuetu_sign.apk xiaoxuetu.apk tbb
终端的执行结果为:
10 zipalign
zipalign是Android自带的一个档案整理工具,可用于优化APK安装包,从而提升Android应用与系统之间的交互效率,提升应用程序的运行速度。
Usage: zipalign [-f] [-v] <align> infile.zip outfile.zip zipalign -c [-v] <align> infile.zip <align>: alignment in bytes, e.g. '4' provides 32-bit alignment -c: check alignment only (does not modify file) -f: overwrite existing outfile.zip, 即是强制覆盖已有的文件 -v: verbose output, 指定生成详细输出
一般情况下,我们直接使用该命令的基本格式为:
zipalign -f -v <档案整理所基于的字节数> <需要优化的文件> <经过优化后的文件>
下面就针对我们的xiaoxuetu.apk进行一次优化做为例子:
zipalign -f -v 4 xiaoxuetu.apk xiaoxuetu_zip.apk
转载请注明出处:http://www.cnblogs.com/xiaoxuetu/ ,谢谢合作
哈喽, 大家好! 我是小学徒V。 您的支持是我无限的动力,在此非常感谢您阅读完本篇文章。
如果大家觉得我写的不错的话,不要忘记动动手指点下左下角的 好文要顶 按钮哦
如果大家想继续关注我的后续博文,可以通过直接点击左下角的 关注我 按钮关注我的最新动态
如果大家对本文内容存在疑问,可以直接留下评论,我会及时处理的哦