所有的android程序都需要签名
1. 为什么要签名
1) 发送者的身份认证
由于开发商可能通过使用相同的Package Name来混淆替换已经安装的程序,以此保证签名不同的包不被替换
2) 保证信息传输的完整性
签名对于包中的每个文件进行处理,以此确保包中内容不被替换
3) 防止交易中的抵赖发生,Market对软件的要求
2. 签名的说明
1) 所有的应用程序都必须有数字证书,Android系统不会安装一个没有数字证书的应用程序
2) Android程序包使用的数字证书可以是自签名的,不需要一个权威的数字证书机构签名认证
3) 如果要正式发布一个Android应用,必须使用一个合适的私钥生成的数字证书来给程序签名,而不能使用adt插件或者ant工具生成的调试证书来发布
4) 数字证书都是有有效期的,Android只是在应用程序安装的时候才会检查证书的有效期。如果程序已经安装在系统中,即使证书过期也不会影响程序的正常功能
5) 签名后需使用zipalign优化程序
6) Android将数字证书用来标识应用程序的作者和在应用程序之间建立信任关系,而不是用来决定最终用户可以安装哪些应用程序
http://www.cnblogs.com/ok-lanyan/archive/2013/04/02/2995462.html
http://blog.csdn.net/penglijiang/article/details/8626108