• 使用命令行进行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应用的发布以及优化就算完成了。

  • 相关阅读:
    Find the Smallest K Elements in an Array
    Count of Smaller Number
    Number of Inversion Couple
    Delete False Elements
    Sort Array
    Tree Diameter
    Segment Tree Implementation
    Java Programming Mock Tests
    zz Morris Traversal方法遍历二叉树(非递归,不用栈,O(1)空间)
    Algorithm about SubArrays & SubStrings
  • 原文地址:https://www.cnblogs.com/vegetate/p/9997169.html
Copyright © 2020-2023  润新知