Android签名与程序覆盖问题

程序覆盖安装主要检查两点:
  1.  两个程序的入口 Activity 是否相同。两个程序如果包名不一样,即使其它所有代码完全一样,也不会被视为同一个程序的不同版本;
  2.  两个程序所采用的签名是否相同。如果两个程序所采用的签名不同,即使包名相同,也不会被视为同一个程序的不同版本,不能覆盖安装。
  如果你以前的程序是采用默认签名的方式(即 debug 签名),一旦换了新的签名应用将不能覆盖安装,必须将原先的程序卸载掉,才能安装上。
另外,可能有人可能会认为反正 debug 签名的应用程序也能安装使用,那也没有必要自己签名了嘛。千万不要这样想,debug 签名的应用程序有这样两个限制,或者说风险:
  1. debug 签名的应用程序不能在 Android Market 上发布,它会强制你使用自己的签名;
  2. debug.keystore 在不同的机器上所生成的可能都不一样,就意味着如果你换了机器进行 apk 版本升级,那么将会出现上面那种程序不能覆盖安装的问题。不要小视这个问题,如果你开发的程序只有你自己使用,当然无所谓,卸载再安装就可以了。但是如果你的软件有很多使用客户,这就是大问题了,就相当于软件不具备升级功能,所以一定要使用正式发布版本的签名。

猜你喜欢

转载自quding0308.iteye.com/blog/1774026