app包名签名打包那些事

来源:互联网 发布:域名注册机构 编辑:程序博客网 时间:2024/06/09 16:17

1. 写在前面

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

2. 区分

a. 首先我们要区分这些词,debugkeystore和releasekeystore,包名和appid。包名和appid我这篇博文写的很清楚了,点击这里 ,反正总结一句话,在as中一切以appid为准。
至于这两个keystore,我们首先要明白一件事,能在手机上运行的apk都是经过签名的,没有签名的apk是跑不起的,其实我们平时在手机上测试或者运行一些demo,都是用debugkeystore签过名的,其实这里就衍生出一个问题,每个demo的包名都是不一样的,但是却用同一个签名进行签名有问题吗?这里后面解释。
debugkeystore我们在安装as时都会在c盘.android里面自动生成,密码是andoird的。releasekeystore是我们手动生成的,如图,至于如何生成网上一大堆,注意两点就可以了,一个保存的位置,最好也保存在.android下面,还有就是密码和别名,很重要很多地方要用。可能有人发现这签名文件结尾不是.keystore而是.jks,注意,这签名文件不管是以.keystore结尾还是.jks都是一样的。还有一点这个.releasekeystore丢了或者不知道是可以再次生成的,但是最好不要丢,特别对于一些已经上架使用ing的app而言,这里又会衍生出一个问题,两个签名打包同一个包名的app,可以吗?后面说。
这里写图片描述
这里写图片描述

3. 举个栗子

a. A,B两个应用,包名(appid)不同,签名也不同,则在手机上两个应用互不影响。
b. A,B两个应用,包名(appid)不同,签名相同,则两个应用在手机上也不会相互影响并且都能同时在安装在手机上。回答了上面的问题。
c. A,B两个应用,包名(appid)相同,签名相同,这不用说覆盖安装,手机认为这是同一个应用。
d. A,B两个应用,包名(appid)相同,签名不同,手机同样认为这是同一个应用,假设A先在手机上,安装B时会安装不上,安装失败,必须先将A卸载,在安装B才行。见图,同一个demo,我使用debugkeystore对它签名生成apk安装在手机上,然后在使用releasekeystore签名,在安装到手机上,符合这一种情况,出现这种情况,见图:
这里写图片描述
希望我填的这些坑能帮到你们!!

1 0
原创粉丝点击