您的位置:首页 > 移动开发

app包名签名打包那些事

2017-02-14 17:30 190 查看

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签名,在安装到手机上,符合这一种情况,出现这种情况,见图:



希望我填的这些坑能帮到你们!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: