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

Android中的UID和PID意义,及查看方式

2015-01-06 15:17 477 查看
Pid是进程ID,Uid是用户ID,只是Android和计算机不一样,计算机每个用户都具有一个Uid,哪个用户start的程序,这个程序的Uid就是那个用户,而Android中每个程序都有一个Uid,默认情况下,Android会给每个程序分配一个普通级别互不相同的 Uid,如果用互相调用,只能是Uid相同才行,这就使得共享数据具有了一定安全性,每个软件之间是不能随意获得数据的。而同一个application 只有一个Uid,所以application下的Activity之间不存在访问权限的问题。

Android系统中修改了Linux的UID的含义:用来唯一确定某个用户的身份。由于Android是单用户系统,不需要支持多用户登陆。Android的UID的含义:每个APP对应一个UID——用UID对应用程序进行管理。
Android中查看UID的方式:
data/system/packages.list

代码:
ActivityManager am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
ApplicationInfo appinfo = getApplicationInfo();
List<RunningAppProcessInfo> run = am.getRunningAppProcesses();
for (RunningAppProcessInfo runningProcess : run) {
if ((runningProcess.processName != null) && runningProcess.processName.equals(appinfo.processName)) {
uid = String.valueOf(runningProcess.uid);
break;
}
}


PID即进程ID。
查看: ps|grep XXX

每一个不同的程序都能有一个UId,但是一个应用里面可以有多个PId
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android uid pid