android uid 和 pid 的理解获取
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android uid 和 pid 的理解获取相关的知识,希望对你有一定的参考价值。
参考技术A 1.理解uid:uid 对于 应用来说其实就是指我们当前应用是在那个 group 组内
就是指这个shareuserid,一个组内的uid相同,,并且具有相同的uid的应用才能共享用户内存
pid:是指每个进程在liunx下的 进程的id 是唯一的。
2.获取
获取uid:
PackageManager pm = getPackageManager();
ApplicationInfo ai = pm.getApplicationInfo("com.speedsoftware.rootexplorer", PackageManager.GET_ACTIVITIES);
Log.d("!!", "!!" + ai.uid);
获取pid:
ActivityManager activityManager = (ActivityManager) getSystemService(ACTIVITY_SERVICE); List<ActivityManager.RunningAppProcessInfo> list = activityManager.getRunningAppProcesses();
for(ActivityManager.RunningAppProcessInfo runningAppProcessInfo : list)
if(runningAppProcessInfo.pid == pid)
processName = runningAppProcessInfo.processName;
如何查找Linux中一些特殊数据类型定义,比如pid_t和uid_t(转)
1.
查看man手册,找到pid_t,可以通过getpid函数来看
2.
打开sys/types.h
3.
打开bits/types.h
4.
打开bits/typesizes.h
找不到相关的头文件了
5.
回到bits/types.h
找到了,为int类型
注:
1.
有时还要找这2个目录:
asm/和asm-generic/
2.
另外可通过查看Linux源码
以上是关于android uid 和 pid 的理解获取的主要内容,如果未能解决你的问题,请参考以下文章
android:sharedUserId="android.uid.system" 从 SDCard 获取文件
getCallingUid/getCallingPid 在 Handler.handleMessage 中返回当前的 uid 和 pid