zoukankan      html  css  js  c++  java
  • 使用命令行进行android签名

    在Android程序开发基于完成后,需要对未签名的应用进行签名后才可发布。这样做的目的是能够更安全的保护你的应用程序。这里,就说一下不使用IDE,基于命令行的方式对APK文件进行签名。 

    第一步:生成RSA密钥对 
    keytool -genkeypair -alias magick.keystore -keyalg RSA -validity 400 -keystore magick.keystore 

    -genkeypair 指定生成密钥对 
    -alias 密钥对的别名 
    -keyalg 密钥对用于的算法,这里用的是RSA 
    -validity 密钥对的有效期,单位为天 
    -keystore 密钥对存储的文件名 

    输入后,根据提示输入相应的内容就好了。 

    第二步:生成未签名的apk文件 
    这个就随便生成一下了,比如在ant debug后,会生成一个 403Bible-debug.apk 文件,这个是采用调试签名的,一般未签名的文件是含有unsigned的。 

    第三步:对未签名的apk进行签名 
    jarsigner -verbose -keystore magick.keystore -signedjar Magick.apk Magick_unsigned.apk magick.keystore 

    -verbose 输出签名详细信息 
    -keystore 指定密钥对的存储路径 
    -signedjar 后面三个参数分别是 签名后的APK包 未签名的APK包 和 密钥对的别名 

    签名时,会要求输入密钥对的密码,这个是你在生成密钥时输入的密码 

    第四部:优化apk包 
    这一步是可选的,用来将apk包进行整理,以适应设备的读取等 
    zipalign -f -v 4 Magick.apk Magick_zip.apk 

    -f 强制覆盖已有的文件 
    -v 输出详细内容 
    4 指定档案整理的字节数,一般为4,及32位。如果以后android的设备有64位的,可能要改成8吧。 
    Magick.apk 是未整理的apk文件名 
    Magick_zip.apk 是整理后的apk文件名 

    ===============================================================================

     如果需要需要查看已签名的apk的签名信息

    右键apk解压,目标文件是META-INF文件夹中的CERT.RSA文件,通过命令keytool.exe命令查看证书信息

    可以查看签名的MD5、SHA1、SHA256值及签名算法 

    命令:keytool -printcert -file 目标文件路径

    至此使用命令行对android应用的发布以及优化就算完成了。

  • 相关阅读:
    笔试助攻题(思路)
    const 修饰成员函数 前后用法(effective c++ 03)
    UNIX 是啥?!和Linux什么关系?
    我的offer之路(一)
    我的offer之路(一)
    ANSI C 与 K&R C
    c内置数据类型
    预处理器
    小数用二进制如何表示
    C++中有三种创建对象的方法
  • 原文地址:https://www.cnblogs.com/vegetate/p/9997169.html
Copyright © 2011-2022 走看看