zoukankan      html  css  js  c++  java
  • 大约Android 了解权限管理

    如Android应用程序开发人员。为android权限机制一直觉得很奇怪。为什么要这个东西权限?为什么要AndroidManifest里面写的uses-permission 这样的事情?我一直搞不清楚,着没什么问题也就认了,没去好好深究过。这回就来好好看下吧。

            原来在设备上有这么个文件/system/etc/permissions/platform.xml 打开来看

        <permission name="android.permission.INTERNET" >
            <group gid="inet" />
        </permission>
    
        <permission name="android.permission.CAMERA" >
            <group gid="camera" />
        </permission>
    
        <permission name="android.permission.READ_LOGS" >
            <group gid="log" />
        </permission>
    
        <permission name="android.permission.READ_EXTERNAL_STORAGE" >
            <group gid="sdcard_r" />
        </permission>
    
        <permission name="android.permission.WRITE_EXTERNAL_STORAGE" >
            <group gid="sdcard_rw" />
        </permission>
    
        <permission name="android.permission.WRITE_MEDIA_STORAGE" >
            <group gid="media_rw" />
        </permission>
    

    是这种内容,非常眼熟吧。这不就是在应用的AndroidManifest里面用到的use-permission吗?

    以下的gid 看起来也非常眼熟吧,sdcard_rw这个最为常见,对,就是sdcard上的文件的组

    drwxrwxr-x system   sdcard_rw          2013-02-23 08:45 baidu
    
    所以依据经验推測,莫非这个xml就是权限与组的相应关系? 仅仅要apk申明了这个权限就会通过这个xml文件找到相应的要增加的组里。

    有种恍然大悟的感觉,原来android的权限管理还是linux的权限管理的变种,万变不离其宗啊!

    验证推測是否正确的方法就是--看代码:通过查找谁用到了这个文件非常easy就发现 是PackageManagerService在解析它,果然是将permission和gid关联起来。






    版权声明:本文博客原创文章。博客,未经同意,不得转载。

  • 相关阅读:
    一站式自动化测试平台 http://www.Autotestplat.com
    转载 https协议和http协议的区别
    Asp.Net底层解析
    转载 How to Encrypt connection string in web.config
    Google maps library的使用
    转载 C#中敏捷开发规范
    转载 C#中使用结构来传递多个参数
    写的非常好的文章 C#中的委托,匿名方法和Lambda表达式
    转载 C#匿名函数 委托和Lambda表达式
    转载 asp.net的Request.ServerVariables参数说明
  • 原文地址:https://www.cnblogs.com/mfrbuaa/p/4742671.html
Copyright © 2011-2022 走看看