一次搞懂Android的包名、签名和applicationId的区别

一、概述

首先我们来看一张图

包名签名应用ID区别1.jpeg

包名:如com.sun.gradledemo就是代码存储的位置、空间。java文件夹下放的是java代码,res文件夹下放的是资源文件,包名就是分门别类的放置代码的一个存储空间。
应用ID:applicationId是Android应用的唯一标识,Google Play和其他的应用商店就是根据这个应用ID来区分是不是一个新的应用程序。
签名:Android要求所有已安装的应用程序都使用数字证书做数字签名,数字证书的私钥由开发者持有,用户就是通过这个签名来进行App的升级操作。

二、区别与作用

1.包名:可以随便修改,不影响应用程序的使用
2.应用ID和签名:

a.应用ID相同,签名相同:

  是同一个应用,可以进行覆盖安装,可以进行应用的升级

b.应用ID相同,签名不同:

  是同一个应用,但是在安装新签名apk时,会安装失败,只有删除旧签名的app,否则无法安装。报错如图:
包名签名应用ID区别2.jpeg

c.应用ID不同,签名相同:

  是两个不同的应用,可同时安装

d.应用ID不同,签名不同:

  是两个不同的应用,可同时安装(同c情况一样)

你可能感兴趣的:(一次搞懂Android的包名、签名和applicationId的区别)