命令行下为android app签名

一、签名的步骤

1.创建key
2.使用步骤1中产生的key对apk签名

二、具体操作

    
  1.准备工作:未签名包(eclipse下,在工程点击右键->Anroid Tools-Export Unsigned Application Package导出的apk)

       2.创建key

          创建key,需要用到keytool.exe (位于jdk1.6.0_10\bin目录下),使用产生的key对apk签名用到的是jarsigner.exe (位于jdk1.6.0_10\bin目录下),把上两个软件所在的目录添加到环境变量path后(PS:如果没有添加目录到环境变量,则需要使用命令定位到bin目录,否则在其它目录下键入keytool回车会提示“'keytool' 不是内部或外部命令,也不是可运行的程序或批处理文件。”),打开cmd输入

         D:\job-soft\Java\jdk1.6.0_10\bin>keytool -genkey -alias demo.keystore -keyalg RSA -validity 40000 -keystore demo.keystore
       /*说明:-genkey 产生密钥
             -alias demo.keystore 别名 demo.keystore
           -keyalg RSA 使用RSA算法对签名加密
             -validity 40000 有效期限40000天
             -keystore demo.keystore */
     3.使用2中创建key对apk签名
         D:\job-soft\Java\jdk1.7.0_10\bin>jarsigner -verbose -keystore demo.keystore -signedjar ActiveDemo_signed.apk ActiveDemo.apk demo.keystore

 -digestalg SHA1 -sigalg MD5withRSA

        /*说明:-verbose 输出签名的详细信息
            -keystore  demo.keystore 密钥库位置
            -signedjar ActiveDemo_signed.apk ActiveDemo.apk demo.keystore 正式签名,三个参数中
依次为签名后产生的文件ActiveDemo_signed,要签名的文件ActiveDemo.apk和密钥库demo.keystore.

-digestalg SHA1 -sigalg MD5withRSA 这是针对在jdk1.6环境上生成的keystore,用于在jdk1.7环境下进行签名时,所需要的,如果不加,会无法在低版本的Android(4.0以下)系统上安装

*/

 我的操作是在没有将D:\job-soft\Java\jdk1.6.0_10\bin添加到环境变量的情况下进行的

你可能感兴趣的:(随笔)