Android中的Permission权限机制介绍

 更新时间:2015年04月07日 10:20:17   投稿:junjie  
这篇文章主要介绍了Android中的Permission权限机制介绍,本文讲解了权限策略、权限声明、权限请求、获取权限等内容,需要的朋友可以参考下

Android 通过在每台设备上实施了基于权限的安全策略来处理安全问题,采用权限来限制安装应用程序的能力。当某个权限与某个操作和资源对象绑定在一起,我们必须获得这个权限才能在对象上执行操作。由于Android设计本身就是为Android开发人员着想,所以一切权限许可权由用户决定而不是手机制造商和平台提供商,但这不得不带来了开发者滥用权限,黑客通过权限来进行恶意行为的风险,所以作为静态分析一个app是否为恶意软件的第一道关,获取并了解Android Permission权限意义是十分重大的。

权限策略

Android 框架提供一套默认的权限存储在android.anifest.permission 类中,同时也允许我们自己定义新的权限。我们在写应用程序时声明权限,程序安装时新权限被引入系统。权限授权在应用程序被安装时执行。当在设备上安装应用程序时,程序将请求完成任务必需的权限集合。被请求的权限列单显示在设备屏幕上以待用户审查只有用户同意授权后,程序才会被安装,该应用程序获得所有被请求的权限。所以,Android 系统实施的主要安全准则是应用程序只有得到权限许可后,才能执行可能会影响到系统其它部分的操作。

每个权限被定义成一个字符串,用来传达权限以执行某个特殊的操作。所有权限可以分为两个类别:一种是执行程序时被应用程序所请求的权限,一种是应用程序的组件之间通信时被其它组件请求的权限。开发者通过在AndroidManifest.xml文件中编写权限标签来定义以上两种类别的权限策略。

权限声明

应用程序可以用一个<permission>元素来声明权限, 用于限制访问特定组件或应用程序 在安装程序时, 这个已声明的权限被加入到系统中,具体可以参看:Android 自定义权限

权限请求

应用程序列出所有需要用来完成任务的权限,分别用 <use-permission>元素标识这些权限。在程序安装时被请求,列表显示在屏幕上用户要么同意安装,要么中止安装。同意安装则意味着授权所有被请求的权限。

获取权限

获取权限,是我们静态分析某个app的第一关,通过知道app所具有的权限,我们一般能够基本知道该app或许会有那些行为。

工具:目前已有多个工具可以静态检测Android app所具有的Permissions,这类工具有:aaptapktool、androguard等等;

相关文章

  • Android判断定位功能是否可用的方法

    Android判断定位功能是否可用的方法

    今天小编就为大家分享一篇Android判断定位功能是否可用的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07
  • flutter 屏幕尺寸适配和字体大小适配的实现

    flutter 屏幕尺寸适配和字体大小适配的实现

    这篇文章主要介绍了flutter 屏幕尺寸适配和字体大小适配的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • jarsigner重新签名apk无法安装的解决方法

    jarsigner重新签名apk无法安装的解决方法

    这篇文章主要介绍了jarsigner重新签名apk无法安装的解决方法,需要的朋友可以参考下
    2014-04-04
  • Android Notification通知使用详解

    Android Notification通知使用详解

    消息通知(Notification)是Android系统中比较有特色的一个功能,当某个应用程序希望用户发出一些提示信息,而该应用又不在前台运行时,就可以借助通知来实现
    2022-09-09
  • Android Retrofit原理深入探索

    Android Retrofit原理深入探索

    Retrofit 是一个 RESTful 的 HTTP 网络请求框架的封装,网络请求的工作本质上是 OkHttp 完成,而 Retrofit 仅负责 网络请求接口的封装
    2022-11-11
  • Android设计模式之策略模式详解

    Android设计模式之策略模式详解

    这篇文章主要为大家详细介绍了Android设计模式之策略模式的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-08-08
  • Android应用中使用ContentProvider扫描本地图片并显示

    Android应用中使用ContentProvider扫描本地图片并显示

    这篇文章主要介绍了Android应用中使用ContentProvider扫描本地图片并显示的方法,比调用本地图库的方法更加灵活和可定制,需要的朋友可以参考下
    2016-04-04
  • Android监听Home键和Back键的区别介绍

    Android监听Home键和Back键的区别介绍

    这篇文章主要介绍了Android监听Home键和Back键的区别介绍,本文还同时给出了Home键监听的实现代码,需要的朋友可以参考下
    2015-06-06
  • Android 中 ActivityLifecycleCallbacks的实例详解

    Android 中 ActivityLifecycleCallbacks的实例详解

    这篇文章主要介绍了Android 中 ActivityLifecycleCallbacks的实例详解的相关资料,希望通过本文大家能掌握这部分内容,需要的朋友可以参考下
    2017-09-09
  • Android滑动冲突的完美解决

    Android滑动冲突的完美解决

    这篇文章主要为大家详细介绍了Android滑动冲突的完美解决方案,针对三种滑动冲突场景进行解决,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-01-01

最新评论