android APK签名

来源:互联网 发布:淘宝订单要上传身份证 编辑:程序博客网 时间:2024/06/08 11:28

android的每个应用安装都需要签名,废话不说:

一、debug签名:

       eclips自动签名,如果我们自动安装就是eclips自动已经签名过的,是debug签名,有效期为一年。

       自动签名文件一般在c:\user\hp\.android下面,可以在eclips中的Window -> Preferences -> Android –> Build看到。

二、release签名:

      eclips工程上签名:

            对于有工程的应用可以选择这个方法,简单方便。

            打开Eclipse->选择你要签名的项目->右击->android tools->Export signed Application package

            可以选择已经存在的keystore文件,也可以新生成一个keytore文件,按步骤操作,自动就签名了。

     命令行给未签名的APK签名:

            如果没有工程代码,就需要在命令行给APK签名。

            使用JDK自带工具keytool(生成签名文件)和jarsigner(给APK签名)签名,如果JKD安装正确就可以用这2个工具安装了。

            1.生成加密文件:

                   keytool -genkey -keystore mykey.keystore -keyalg RSA -validity 3650 -alias mykey.keystore

                   回车后会出现加密文件的密码,输入一串数字密码和各种个人信息,密码后面加密会用。切记!

                        参数详解:

                        -genkey    产生证书文件
                        -keystore  指定密钥库的.keystore文件中

                       -keyalg     指定密钥的算法

                       -validity    为证书有效天数,这里我们写的是10000天。 
                       -alias       产生别名 
                  注:别名和前面的名字要一致,有效期要在1--100年间,市场上一般要求要至少到2033年。

                  至此,当前目录下应该已经生成了一个mykey.keystore的文件。
             2.给未加密的APK加密:

                  (1)如何获得未加密的APK,方法如下:

                           打开Eclipse->选择你要导出的项目->右击->android tools->Export Unsigned Application package 或

                           使用Eclipse,在Package Explorer中选择Androidmanifest.xml文件,找到overview项中,单击Export the unsigned apk

                    不详述。

                   (2)给未加密的APK加密:

                           jarsigner -verbose -keystore mykey.keystore -signedjar signed.apk asigned.apk alias

                           参数详解:

                           -verbose   签名时输出详细信息

                           -keystore  密钥库位置

                           -signedjar  指定签名后的文件名称

                           alias 最后带上别名

               输入mykey.keystore的密码开始签名,至classes.dex完成签名。