Android获得UID的三个办法

1、通过PackageManager:

try {
    PackageManager pm = getPackageManager();
    ApplicationInfo ai = pm.getApplicationInfo("com.speedsoftware.rootexplorer", PackageManager.GET_ACTIVITIES);
    Log.d("!!", "!!" + ai.uid);
    Toast.makeText(MainActivity.this, Integer.toString(ai.uid,10), Toast.LENGTH_SHORT).show();
} catch (NameNotFoundException e) {
    e.printStackTrace();
}

效果:

 

还有2种办法,不是通过编程,可以直接由adb shell查询

2、cat /proc/<pid>/status

当我们确认需要查得进程的PID之后,读取打印其status文件

效果图:

不过这有一个缺点是,必须得进程启动的时候才能看。

 

3、cat /data/system/packages.xml (或者package.list)

Android安装的程序在这个列表下会显示出来,输入adb shell cat /proc/system/packages.xml (要过滤内容加findstr,或者重定向输出,文件内容很多)可以读取查询。

效果图:

 

posted on 2013-10-09 15:44  堕落华为人  阅读(21811)  评论(1编辑  收藏  举报

导航