有时候我们需要看某个app是否有某个权限,下面我们有两个方法可以确定该应用是否有该权限
方法一:
比如:我们想看文件浏览器是否有media_rw的权限,我们就先看ps,找到文件浏览器的pid
- u0_a31 6653 217 702776 60112 SyS_epoll_ b6d21408 S com.android.fileexplorer
- root 6681 1 786596 26748 futex_wait b6d065ec S app_process
- root 6683 1 786596 26700 futex_wait b6ca85ec S app_process
- root 6685 1 786596 26724 futex_wait b6d185ec S app_process
然后再去proc/pid下面看,这里的话就是proc/6653,然后可以cat status:
- root@lte26007:/proc/6653 # cat status
- cat status
- Name: id.fileexplorer
- State: S (sleeping)
- Tgid: 6653
- Pid: 6653
- PPid: 217
- TracerPid: 0
- Uid: 10031 10031 10031 10031
- Gid: 10031 10031 10031 10031
- FDSize: 256
- Groups: 1015 1023 9997 50031
- VmPeak: 991756 kB
- VmSize: 702776 kB
- VmLck: 0 kB
- VmPin: 0 kB
- VmHWM: 60640 kB
- VmRSS: 60112 kB
我们看到有Groups这项,media_rw应该是1023
我们可以使用id命令确认下:
- id media_rw
- uid=1023(media_rw) gid=1023(media_rw) groups=1023(media_rw), context=u:r:su:s0
确实是1023,这样就确定文件浏览器应用确实有media_rw的权限。
- root@lte26007:/mnt/media_rw # ls -l
- ls -l
- drwxrwx--- media_rw media_rw 1970-01-01 08:00 5F39-14EA
方法二:
我们可以去/system/etc/permissions目录的platform.xml查看media_rw对应的权限
- <permission name="android.permission.WRITE_MEDIA_STORAGE" >
- <group gid="media_rw" />
- <group gid="sdcard_rw" />
- </permission>
然后再去文件浏览器源码中的的AndroidManifest.xml文件,如下代码,就知道有该权限
- <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
- <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
- <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
- <uses-permission android:name="android.permission.WRITE_MEDIA_STORAGE" />
- <uses-permission android:name="android.permission.WAKE_LOCK"/>
原文地址: http://blog.csdn.net/kc58236582/article/details/50622345