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,或者重定向输出,文件内容很多)可以读取查询。
效果图: