什么是uid?
uid 是user 用户id
Android里的UID是基于应用程序,每一个程序都有一个UID,如果应用程序1和应用程序2的uid不同,则在default情况下,二者无法读取对方的数据,这样提升了应用的安全性。
当使用者安装了某一应用程序时,android系统就会赋予一个uid,用户可以在屏幕上的窗口里可以检视这个AndroidManifest.xml档案的内容,用户回了解这个应用程序的目的、权限等,并选择接受与不接受。
一些特殊情形下,两个应用程序是可以持有一样的UID。
例如,当需要推出新版本时,这两种版本的程序可以持有一样的UID, 才有权限将旧版程序的数据转移到新版软件里。
uid与pid的区别?
Pid 是 process 进程ID,Uid 是 user 用户ID,只是Android和计算机不一样。
计算机每个用户都具有一个Uid,而Android中每个程序都有一个Uid。
默认情况下,Android会给每个程序分配一个普通级别互不相同的 Uid,如果用互相调用,只能是Uid相同才行,这就使得共享数据具有了一定安全性。
每一个不同的程序都能有一个UId,但是一个应用里面可以有多个PId。
一个用户可以打开多个进程(Pid),并且这些进程的uid是一样的;
一个pid对应一个进程,每次打开时系统都会赋予不同的pid,但是uid是当你安装Apk时,系统赋予的,是不变的,除非你卸载了重装,又会重新赋予一个Uid;