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//status
当我们确认需要查得进程的PID之后,读取打印其status文件
效果图:
不过这有一个缺点是,必须得进程启动的时候才能看。
3、cat /data/system/packages.xml (或者package.list)
Android安装的程序在这个列表下会显示出来,输入adb shell cat /proc/system/packages.xml (要过滤内容加findstr,或者重定向输出,文件内容很多)可以读取查询。
效果图:
网友评论