zoukankan      html  css  js  c++  java
  • android apk 程序签名

    [前言]
    我们平时在开发android应用程序的过程中,一般都是利用eclipse集成开发环境,所以生成的apk有debug版本的签名权限,但是如果我们想要发布一款应用程序,并且希望在真机上运行的话,就需要进行签名。

    [工具]
    Java开发环境中的Keytool 和 Jarsigner,注意配置好环境路径,输入命令后有如下提示信息:

    C:\Documents and Settings\F1034740\桌面\博客文章>Keytool
    keytool 用法:

    -certreq     [-v] [-protected]
                 [-alias <別名>] [-sigalg <簽章演算法>]
                 [-file <憑證簽章要求檔案>] [-keypass <主密碼>]
                 [-keystore <金鑰儲存庫>] [-storepass <儲存庫密碼>]
            [-storetype <儲存庫類型>] [-providername <名稱>]
            [-providerclass <提供者類別名稱> [-providerarg <引數>]] ...
            [-providerpath <路徑清單>]
    。。。。。。

    C:\Documents and Settings\F1034740\桌面\博客文章>Jarsigner
    Usage: jarsigner [options] jar-file alias
           jarsigner -verify [options] jar-file

    [-keystore <url>]           keystore location

    [-storepass <password>]     password for keystore integrity

    [-storetype <type>]         keystore type

    [-keypass <password>]       password for private key (if different)

    [-sigfile <file>]           name of .SF/.DSA file
    。。。。。。

    [签名文件的制作]
    下面我们来制作一个名称为carey.keystore(生成并保存在当前操作目录下),密码为password(密码在输入的过程中不回显)的keystore签名文件,接下来就会用它来给我们自己的apk签名

    C:\Documents and Settings\F1034740\桌面\博客文章>keytool -genkey -alias carey.k
    ystore -keyalg RSA -validity 20000 -keystore carey.keystore
    輸入 keystore 密碼:<password>
    重新輸入新密碼: <password>
    您的名字與姓氏為何?
    [Unknown]: carey zhou
    您的編制單位名稱為何?
    [Unknown]: foxconn
    您的組織名稱為何?
    [Unknown]: it
    您所在的城市或地區名稱為何?
    [Unknown]: shenzhen
    您所在的州及省份名稱為何?
    [Unknown]: guangdong
    該單位的二字國碼為何
    [Unknown]: cn
    CN=carey zhou, OU=foxconn, O=it, L=shenzhen, ST=guangdong, C=cn 正確嗎?
    [否]: Y

    輸入 <carey.keystore> 的主密碼 
            (RETURN 如果和 keystore 密碼相同):<password>
    重新輸入新密碼: <password>

    [签名过程]
    下面我们来给一个未签名的apk(HomeIP2-unsigned.apk)进行签名,生成新的apk(HomeIP2-signed.apk)

    C:\Documents and Settings\F1034740\桌面\博客文章>jarsigner -verbose -keystore carey.keystore -signedjar HomeIP2-signed.apk HomeIP2-unsigned.apk carey.keystore
    Enter Passphrase for keystore: <password>
       adding: META-INF/MANIFEST.MF
       adding: META-INF/CAREY_KE.SF
       adding: META-INF/CAREY_KE.RSA
    signing: res/anim/fade_in.xml
    signing: res/anim/fade_out.xml
    signing: res/anim/fadeout.xml
    signing: res/anim/grid_entry.xml
    signing: res/anim/grid_exit.xml
    signing: res/anim/hide_applications.xml
    signing: res/anim/noneshow.xml
    signing: res/anim/show.xml
    signing: res/anim/show_applications.xml
    signing: res/color/bright_text_dark_focused.xml
    signing: res/color/listtextcolor.xml
    signing: res/drawable/apparrow.xml
    signing: res/drawable/application_background.9.png
    signing: res/drawable/button.xml
    。。。。。。

    [总结]
    以上就是制作签名文件和给apk签名的过程,详细的情况请参考android官方开发文档 http://developer.android.com/guide/publishing/app-signing.html

  • 相关阅读:
    旋转变换(一)旋转矩阵
    DICOM中几个判断图像方向的tag
    RGB与HSB之间的转换公式
    Delphi图像处理 -- RGB与HSL转换
    指针类型(C# 编程指南)
    关于 Delphi 中流的使用(2) 用 TFileStream(文件流) 读写
    [转载]Delphi Tokyo 10.2.3发布了
    如果设置网络优先级
    .gitignore详解
    Win10 兼容性 Visual studio web应用程序 ASP.NET 4.0 尚未在 Web 服务器上注册
  • 原文地址:https://www.cnblogs.com/qq78292959/p/2116391.html
Copyright © 2011-2022 走看看