一、应用的打包签名
1、打包是什么
打包就是根据签名和其他标识生成安装包。
2、签名是什么
1)在Android应用文件(apk)中保存的一个特别字符串
2)用来标识不同的应用开发者
3)一个应用开发者开发的多款应用使用同一个签名
3、为什么要用签名
1)Android系统要求每一个Android应用程序必须要经过数字签名才能够安装到系统中,也就是说如果一个Android应用程序没有经过数字签名,是没有办法安装到系统中的。
2)不同程序员开发的应用包名可能会相同,导致一个应用覆盖掉另一个应用。
如果只有包名的概念,那么如果B应用与已经安装好的A应用包名一样,那就实现覆盖,不合理。
而事实上是装不上B的,它会提示,存在包名一样,但签名不一样的应用,这就不会覆盖。
4、如何为APK签名
1)用来生成应用签名的文件
默认:debug.keystore
使用AS生成:xxx.jks
debug签名的应用程序不能在Android Market上架销售,它会强制你使用自己的签名。
不同电脑使用此文件生成的签名不一样。那就意味着如果你换了机器进行apk版本升级,那么将会出现上面那种程序不能覆盖安装的问题。
2)打包自己签名的APK(使用Android Studio)
如果有就打开Choose existing... ,如果没有就新建Create new。
> 上面的密码是用来访问最上面的path路径文件的密码。而最上面的文件用来生成一个签名字符串。
> 下面Alias是一个别名。接下来的密码:是用来生成一个签名的时候,还需要的一个密码。与上面的密码可以不一致。
> 再下面的25,指的是有效期。google应用市场规定应用的有效期不低于25年。还可以改为100年。也就是说100年以后,我们的xxx.jks签名文件就失效了。
> 指明生成的apk的位置,Build Type:release:发布版 debug:测试版。
> 点击finish,稍等一会
> 默认在As工程中bin下生成的apk文件也有签名。只是用到了debug_keystore(测试)的模式。而我们想发布到应用市场的话,那就需要我们自己提供一个签名,不能用默认的了,不合适。如下: