一、概述
首先我们来看一张图
包名:如com.sun.gradledemo就是代码存储的位置、空间。java文件夹下放的是java代码,res文件夹下放的是资源文件,包名就是分门别类的放置代码的一个存储空间。
应用ID:applicationId是Android应用的唯一标识,Google Play和其他的应用商店就是根据这个应用ID来区分是不是一个新的应用程序。
签名:Android要求所有已安装的应用程序都使用数字证书做数字签名,数字证书的私钥由开发者持有,用户就是通过这个签名来进行App的升级操作。
二、区别与作用
1.包名:可以随便修改,不影响应用程序的使用
2.应用ID和签名:
a.应用ID相同,签名相同:
是同一个应用,可以进行覆盖安装,可以进行应用的升级
b.应用ID相同,签名不同:
是同一个应用,但是在安装新签名apk时,会安装失败,只有删除旧签名的app,否则无法安装。报错如图:
c.应用ID不同,签名相同:
是两个不同的应用,可同时安装
d.应用ID不同,签名不同:
是两个不同的应用,可同时安装(同c情况一样)