UIDandroid的简单介绍

Android中的uid

uid 是user 用户id

创新互联提供高防服务器、云服务器、香港服务器、雅安机房托管

Android 里的UID是基于应用程序,每一个程序都有一个UID,如果应用程序1和应用程序2的uid不同,则在default情况下,二者无法读取对方的数据,这样提升了应用的安全性。

当使用者安装了某一应用程序时,android系统就会赋予一个uid,用户可以在屏幕上的窗口里可以检视这个AndroidManifest.xml档案的内容,用户回了解这个应用程序的目的、权限等,并选择接受与不接受。

一些特殊情形下,两个应用程序是可以持有一样的UID。

例如,当需要推出新版本时,这两种版本的程序可以持有一样的UID, 才有权限将旧版程序的数据转移到新版软件里。

Pid 是 process 进程ID,Uid 是 user 用户ID,只是Android和计算机不一样。

计算机每个用户都具有一个Uid,而Android中每个程序都有一个Uid。

默认情况下,Android会给每个程序分配一个普通级别互不相同的 Uid,如果用互相调用,只能是Uid相同才行,这就使得共享数据具有了一定安全性。

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

一个用户可以打开多个进程(Pid),并且这些进程的uid是一样的;

一个pid对应一个进程,每次打开时系统都会赋予不同的pid,但是uid是当你安装Apk时,系统赋予的,是不变的,除非你卸载了重装,又会重新赋予一个Uid;

参考: 认识Android的UID(Unix user ID)与权限

ANDROID 中UID与PID的作用与区别

android中如何生成uid

一般android系统会自动为应用生成一个uid,并且每个应用会被分配不同的UID ,用于管理各个应用的权限以及数据共享。。。其次我查了一些资料。在AndroidMenifest.xml中 在manifest标签里面增加 android:sharedUserId="xxxx",“xxxx”就是你自定义的uid了。。

android uid 和 pid 的理解获取

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);  ListActivityManager.RunningAppProcessInfo list = activityManager.getRunningAppProcesses();

for(ActivityManager.RunningAppProcessInfo runningAppProcessInfo : list){

if(runningAppProcessInfo.pid == pid){

processName = runningAppProcessInfo.processName;

        }

    }

安卓的UID是什么意思

Android 里的 UID 是 跟随着「软件」(例如 Android 应用程序)。 由于每个应用程序都有个 UID,只有带着此 UID,才能存取该 UID 所涵盖的有关资料。就跟安装软件的附件一样吧。

android系统的uid问题??

不对,UID不是数字,PID才是,PID也没有你说的那种情况。应用程序的UID是app_#,#代表数字。而系统进程的UID是root或者system

连上android设备或者模拟器,进入adb shell,top就可以看到当前所有进程。


本文标题:UIDandroid的简单介绍
链接分享:http://csdahua.cn/article/dscodpp.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流