Keep on going, never give up.

Android应用程序签名

Android系统约定所有应用程序都需先经过数字签名才能安装,不允许安装无可用数字签名的应用程序,无论是在模拟器还是真机上,Android系统都会(仅仅)在安装前检测数字签名的存在及其证书的有效期,如果应用程序的签名是在安装之后到期,则不会影响应用程序的正常使用。因此,我们在开发调试程序时,在程序安装到目标设备前,必须要对应用程序进行数字签名。

Android应用程序的数字签名用途同其它数字签名一样具有身份认证性、完整性和不可抵赖性,用于标识程序作者和应用程序之间的信任关系,也就是说,数字签名只是为了证明该应用程序出自原作者之手,而其实与最终用户关系不大,至多只是约定该程序的最迟安装日期,应用程序签名往往由应用程序的作者完成,该签名并不需要权威的数字证书签名机构认证,只是用来让应用程序包自我认证的。

我们在开发Android程序时,系统会默认使用debug密钥自动给应用程序签名,该debug密钥在不同的机器上一般均不相同,所以,开发环境变化往往会导致签名变化(如果使用debug密钥),debug密钥只能做debug调试用途,程序发行时必须要使用独立的签名(证书)。

签名密钥(证书)与发行包名变化可能有如下限定:

  • 签名相同,包名相同——安装时可覆盖安装
  • 签名不同,报名相同——Android认为版本发生了变化,需先卸载再安装
  • 签名不同,包名不同——Android认为版本发生了变化,需先卸载再安装
  • 使用debug签名的应用——无法在Android市场销售,而且,不同机器生成的debug密钥不同,不利apk升级和维护
  • 使用独立签名的应用——可在Android市场销售,签名固定会更加便利apk升级和维护

Android应用程序的签名方法可参考:

http://my.oschina.net/xuwa/blog/12498

http://jindalong.blog.techweb.com.cn/archives/26.html

Android第三方应用安装来源分析:

http://blog.csdn.net/fancsxx/article/details/6942968

Android签名用keytool和jarsigner制作apk文件:

http://www.android123.com.cn/androidkaifa/173.html

备注:本文参考内容及延伸阅读,请参文中链接。

相关评论(0):  

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

订阅博客

最新文章

本站采用创作共用版权协议, 要求署名、非商业用途和保持一致. 转载也必须遵循“署名-非商业用途-保持一致”的创作共用协议. 返回顶部
Copyright@2005-2016 Metsky.com, All rights Reserved.