android权限

    xiaoxiao2021-03-25  89

    

    有时候我们需要看某个app是否有某个权限,下面我们有两个方法可以确定该应用是否有该权限

    方法一:

    比如:我们想看文件浏览器是否有media_rw的权限,我们就先看ps,找到文件浏览器的pid

    [html] view plain copy print ? 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   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:

    [html] view plain copy print ? 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   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命令确认下:

    [html] view plain copy print ? id media_rw  uid=1023(media_rw) gid=1023(media_rw) groups=1023(media_rw), context=u:r:su:s0   id media_rw uid=1023(media_rw) gid=1023(media_rw) groups=1023(media_rw), context=u:r:su:s0

    确实是1023,这样就确定文件浏览器应用确实有media_rw的权限。

    [html] view plain copy print ? root@lte26007:/mnt/media_rw # ls -l  ls -l  drwxrwx--- media_rw media_rw          1970-01-01 08:00 5F39-14EA   root@lte26007:/mnt/media_rw # ls -l ls -l drwxrwx--- media_rw media_rw 1970-01-01 08:00 5F39-14EA我们再看上面这个目录,比如如果是otg插存储卡,那么只会将路径挂载在mnt/media_rw 不会进行fuse操作,这样只能拥有media_rw权限才能对该文件操作。

    方法二:

    我们可以去/system/etc/permissions目录的platform.xml查看media_rw对应的权限

    [html] view plain copy print ? <permission name="android.permission.WRITE_MEDIA_STORAGE" >      <group gid="media_rw" />      <group gid="sdcard_rw" />  </permission>   <permission name="android.permission.WRITE_MEDIA_STORAGE" > <group gid="media_rw" /> <group gid="sdcard_rw" /> </permission>

    然后再去文件浏览器源码中的的AndroidManifest.xml文件,如下代码,就知道有该权限

    [html] view plain copy print ? <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"/> 

    转载请注明原文地址: https://ju.6miu.com/read-39074.html

    最新回复(0)