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

本文详细解析Android系统中UID与PID的概念,解释它们如何用于唯一确定应用程序身份,并提供通过代码获取UID和PID的方法。同时,讨论UID与PID在不同应用场景中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

  1.     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;
    			}
    		}
  2.     PID即进程ID。

         查看: ps|grep XXX

  3.     每一个不同的程序都能有一个UId,但是一个应用里面可以有多个PId


转载于:https://my.oschina.net/Huntero/blog/364279

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值