给 APK 文件签名

下面使用的工具都在 \Java\jdk1.7.0_17\bin 下,如果你已经配置了java环境变量,就可以直接在命令行下使用了,如果没有的话,你需要在命令行下将工作目录切换到 Java\jdk1.7.0_17\bin 执行

生成证书

如果有证书可以略过这一步,直接进入下一步

keytool -genkey -v -alias CERT -keyalg RSA -keysize 2048 -validity 10000 -keystore CERT.keystore

参数说明:
CERT.keystore ---- 证书保存的文件名
CERT ---- 证书的别名
10000 ---- 10000天的有效期
2048 ---- 默认为1024 bits,Android 建议使用2048 bits或更高

证书生成后使用如下命令可以查看证书的信息:

keytool -list -alias CERT -keystore CERT.keystore

给APK文件签名

jarsigner -verbose -keystore CERT.keystore to_sign.apk CERT

参数说明:
CERT.keystore ---- 证书保存的文件名
CERT ---- 证书的别名
to_sign.apk ------待签名的apk文件

签名过程需要输入证书的密码,按要求输入即可

待签名的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

优化APK

如果不需要,这一步可以不做,但推荐执行

使用 zipalign 工具优化已签名的apk文件

zipalign -v 4 unaligned.apk aligned.apk


到此结束

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 对于 Android 开发者而言, APK 签名的重要性不言而喻。Android 7.0 后 APK 签名已经从基...
    Cavabiao阅读 9,977评论 7 30
  • 此篇文章将介绍: 签名文件的生成、apk再次签名、自签名证书的生成; 引言Android开发,涉及到开发和正式版...
    3Q竹林阅读 964评论 0 1
  • 引用http://jingyan.baidu.com/article/bad08e1ee438e109c85121...
    Charon_Pluto阅读 39,545评论 4 21
  • 服务器https配置 配置https操作说明文档 1、查看服务器环境配置(tomcat和apache合并使用) 2...
    南京杨小兵阅读 8,901评论 0 9
  • 水滴石穿,
    洋氵羊阅读 277评论 0 0