app包名签名打包那些事

01 写在前面

以前只管完成需求功能,这些事都是经理操心的,最近独立开发app慢慢的踩这些坑。希望能帮到你们!

02 区分

a. 首先我们要区分这些词,debugkeystore和releasekeystore,包名和appid。包名和appid我这篇博文写的很清楚了,https://guozh.net/?p=45 反正总结一句话,在as中一切以appid为准。

至于这两个keystore,我们首先要明白一件事,能在手机上运行的apk都是经过签名的,没有签名的apk是跑不起的,其实我们平时在手机上测试或者运行一些demo,都是用debugkeystore签过名的,其实这里就衍生出一个问题,每个demo的包名都是不一样的,但是却用同一个签名进行签名有问题吗?这里后面解释。

debugkeystore我们在安装as时都会在c盘.android里面自动生成,密码是andoird的。releasekeystore是我们手动生成的,如图,至于如何生成网上一大堆,注意两点就可以了,一个保存的位置,最好也保存在.android下面,还有就是密码和别名,很重要很多地方要用。可能有人发现这签名文件结尾不是.keystore而是.jks,注意,这签名文件不管是以.keystore结尾还是.jks都是一样的。还有一点这个.releasekeystore丢了或者不知道是可以再次生成的,但是最好不要丢,特别对于一些已经上架使用ing的app而言,这里又会衍生出一个问题,两个签名打包同一个包名的app,可以吗?后面说。

03 举个栗子

A,B两个应用,包名(appid)不同,签名也不同,则在手机上两个应用互不影响。

A,B两个应用,包名(appid)不同,签名相同,则两个应用在手机上也不会相互影响并且都能同时在安装在手机上。回答了上面的问题。

A,B两个应用,包名(appid)相同,签名相同,这不用说覆盖安装,手机认为这是同一个应用。

A,B两个应用,包名(appid)相同,签名不同,手机同样认为这是同一个应用,假设A先在手机上,安装B时会安装不上,安装失败,必须先将A卸载,在安装B才行。见图,同一个demo,我使用debugkeystore对它签名生成apk安装在手机上,然后在使用releasekeystore签名,在安装到手机上,符合这一种情况,出现这种情况,见图:

希望我填的这些坑能帮到你们!!

 

本文由老郭种树原创,转载请注明:https://guozh.net/appbaomingqianmingdabaonaxieshi/

app包名签名打包那些事》有1个想法

  1. 夺命奇犽

    老树老师好。你的图片坏了,可以重新补上图片吗?(和 NameNotFoundExceptionSigns is NULL 那篇文章的图片)

    回复

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注