大约Android 了解权限管理
2024-08-24 10:09:05
如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关联起来。
版权声明:本文博客原创文章。博客,未经同意,不得转载。
最新文章
- Java调用批处理或可执行文件
- iOS 直播-实现后台录音并推流
- BestCoder 2nd Anniversary
- VMware-workstation-full-11.0.0-2305329&;VMware-player-7.0.0-2305329
- 利用decorator和descriptor进行数据缓存
- Readonly和disabled的区别 display:none和visible:hidden的区别
- jquery动画效果---animate()--滚屏
- 2、JPA的HelloWorld
- DataGridView控件的使用---添加行
- 框架使用的技术主要是SpringMVC 在此基础上进行扩展
- Mysql加密方式
- jdbc连接数据库的步骤
- PAT 1057
- 把elipse非maven的Struts2+Spring+Ibatis项目导入Idea中
- sql server 查询时会锁表吗?
- 聊一聊啥都不会的我自学Linux系统的历程
- SVN上传下载项目
- MPU6050
- 国外IOS UI指南
- 微信emoji表情编码 、MySQL 存储 emoji 表情符号字符集
热门文章
- umlの实现图
- 通过 Jersey Http请求头,Http响应头,客户端 API 调用 REST 风格的 Web 服务
- redis加入到Windows 服务
- Knockout应用开发指南 第三章:绑定语法(1)
- java性能缓慢
- 13、Cocos2dx 3.0三,找一个小游戏开发3.0中间Director :郝梦主,一统江湖
- 辛星分析html中间name和id 差额
- python之字符串的分割和拼接
- J2EE请求和响应—Servlet
- Oracle SQL Lesson (8) - 使用集合操作符(Union,Intersect,Minus)