Android中的签名

签名,顾名思义与生活中的签名类似,为某个东西签了名,那么这个东西就与所签的名字产生了某种关系,如归属等。

为什么要为Android应用签名?

这是因为Android系统的要求就是这样,Android系统要求每一个Android应用程序必须要经过数字签名才能够安装到系统中,也就是说如果一个Android应用程序没有经过数字签名,就无法安装到系统中。

为什么在AS中直接RUN可以安装到系统上?
因为这种方式会使用Android Studio默认生成的debug签名,去给应用进行签名。

签名不同会怎样

如果同一应用使用不同的签名,那么将不能覆盖安装,必须先卸载之前的,然后再安装。

1)两个程序的入口Activity是否相同。两个程序如果包名不一样,即使其它所有代码完全一样,也不会被视为同一个程序的不同版本; 2)两个程序所采用的签名是否相同。如果两个程序所采用的签名不同,即使包名相同,也不会被视为同一个程序的不同版本,不能覆盖安装。

所以这也是为什么,同样一份代码,由不同的机器RUN,然后安装到同一台设备上时,需要先卸载之前的应用,而后再安装此次的。

原因就是每台机器默认生成的debug签名都不一样!

结论

应用商城不接受用debug签名签的应用,必须使用自己的签名。

使用自己的签名可以避免应用不具备升级功能。