android应用程序签名具体解释

   为了保证每一个应用程序开发商合法ID。防止部分开放商可能通过使用同样的Package Name来混淆替换已经安装的程序。我们须要对我们公布的APK文件进行唯一签名。保证我们每次公布的版本号的一致性(如自己主动更新不会由于版本号不一致而无法安装)。

    一般开发android的开发人员都知道。在我们的Android系统中,不许可安装两个同样的包的应用  

 

    假设A应用的包名:com.xwj.appA;    A应用已经在系统中存在了。这个时候再去安装一个应用B 。它的包名也叫com.xwj.appA,这时候系统就会去检查这两应用的签名是否同样。假设同样。B会把A给覆盖安装掉; 假设不同样 B安装失败;

    当你把应用公布到市场时,你的应用升级了,须要替换旧的程序,安装新的程序

    这时你须要两个条件:

                                      1.包名同样    2.签名同样

     

    当包名同样的时候,假设签名同样。替换安装(版本号升级)成功。假设签名不同样,安装失败;

    要想自己主动安装(版本号升级)成功。必须保证应用程序不同版本号的签名全然一样。

    

    在我们程序猿自己开发的apk中。通常会有一个默认的签名(新建一个应用,执行程序。在bin文件夹下apk文件,用压缩文件打开此文件。并进入META-INF文件夹)。打开文件CERT.RSA

  

    这个默认签名的密钥在C:\Users\admin\.android中


    注意:由于不同的电脑的默认签名是不一样的。当你在A电脑开发了版本号1,在B电脑开发了版本号2。当在一个手机中安装了版本号1,再安装版本号2时是不能覆盖安装的,所以应用程序须要自己签名

      

    接下来解说怎样签名:一般签名有两种方式 

一、使用Keytool和Jarsigner给程序签名(用于android低版本号1.5下面)在此就不做具体解释了

       二、android 1.5以上暨更新版本号的apk签名方式(在进行此方式签名时。一定要先clean项目

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


          2.跳出窗体


          3.假设是已经存在keystore的就直接选择然后next  输入keystore的password进行签名。假设没有的话选择 create new keystore 然后选择 keystore 保存的位置。设置keystore的password,点击Next。



         4.填写keystore的基本信息。分别为别名。password,确认password,有效期。姓名。组织,组织名称,所在城市。所在省份,国家等,点击Next

         注意点:1.password必须和上一步所设置的password一样

·                        2.有效期:Android Market强制要求全部应用程序数字证书的有效期要持续到2033年10月22日以后,所以有效期一定                       要大于19年,否则当时间过了,你的程序将没办法再更新,将损失巨大大笑

                         3.国家:一般写86。除非你不是中国人。哈

 

         5.选择被签名后的APK保存位置,点击finish


         6.然后就能够在你保存的位置中找到对应的被签名后的APK文件


         注意点:记得一定不要把keystore文件给丢了。也不要把password给忘了,否则以后的升级就保存不了曾经的用户数据了,又一次签名的话也不再是原来的了,正如无法逃脱歌词中写的:我已不是原来的我


   假设你的签名丢了怎么办,有两种修复方式:

     1.包名不变的情况下,改签名    -----> 牺牲用户,成全自己

         长处:你在各个应用市场的排名还是原来的排名(比方你原先在应用市场排名第一。这样子改还是第一,适合应用市场排名高                    的) 

         缺点:无法覆盖安装,即仅仅能提醒用户把原来的程序给卸了。安装新的应用程序(用户体验差)

     2.改包名 ,又一次签名    ----->   牺牲自己,成全用户



    签名之后,用zipalign(压缩对齐)优化你的APK文件

    未签名的apk不能使用,也不能优化。

签名之后的apk谷歌推荐使用zipalign.exe(位于android-sdk-tools文件夹下)工具对其优化

      1.開始->执行->cmd

      2.d: 进入你所在sdk所在盘的文件夹

      3.cd android\sdk\tools  进入tools文件夹中

      4.输入zipalign -v 4 a.apkfinal.apka.apk为你所要优化的apk,记得拷到tools文件夹中,final.apk为你终于生成的apk名字


               

posted on 2017-08-07 19:50  ljbguanli  阅读(268)  评论(0编辑  收藏  举报