漫谈Android安全框架

详见:51CTO专家专栏 李洋谈Android安全框架

http://mobile.51cto.com/hot-280012.htm

1. Android具有哪些权限

根据用户的使用过程体验,可以将Android涉及的权限大致分为如下三类:

(1)Android手机所有者权限:自用户购买Android手机(如Samsung GT-i9000)后,用户不需要输入任何密码,就具有安装一般应用软件、使用应用程序等的权限;

(2)Android root权限:该权限为Android系统的最高权限,可以对所有系统中文件、数据进行任意操作。出厂时默认没有该权限,需要使用z4Root等软件进行获取,然而,并不鼓励进行此操作,因为可能由此使用户失去手机原厂保修的权益。同样,如果将Android手机进行root权限提升,则此后用户不需要输入任何密码,都将能以Android root权限来使用手机。

(3)Android应用程序权限:Android提供了丰富的SDK(Software development kit),开发人员可以根据其开发Android中的应用程序。而应用程序对Android系统资源的访问需要有相应的访问权限,这个权限就称为Android应用程序权限,它在应用程序设计时设定,在Android系统中初次安装时即生效。值得注意的是:如果应用程序设计的权限大于Android手机所有者权限,则该应用程序无法运行。如:没有获取Android root权限的手机无法运行Root Explorer,因为运行该应用程序需要Android root权限。

2. Android的组件模型(Component Model)

Android系统中包括4种组件

(1)Activity:Activity就是一个界面,这个界面里面可以放置各种控件。比如:Task Manager的界面、Root Explorer的界面等;

(2)Service:服务是运行在后台的功能模块。如文件下载、音乐播放程序等;

(3)Content Provider:它是Android平台应用程序间数据共享的一种标准接口,它以类似于URI(Universal Resources Identification)的方式来表示数据,如:content://contacts/people/1101;

(4)Broadcast Receiver:与此组件相关的概念是Intent,Intent是一个对动作和行为的抽象描述,负责组件之间程序之间进行消息传递。而Broadcast Receiver组件则提供了一种把Intent作为一个消息广播出去,由所有对其感兴趣的程序对其作出反应的机制。举个简单的例子,:为了实现一个系统启动后播放音乐的功能,则可以定义Intent为android.intent.action.BOOT_COMPLETED,由Broadcast Receiver组件将其进行广播,而系统中的Media Player接收到该信息后则进行播放。

如上所述,4个组件之间的关系如下图:

漫谈Android安全框架

3. Android安全访问设置

每个Android的apk(Android Package)包里面都包含有一个AndroidMainifest.xml文件,该文件除了罗列应用程序运行时库、运行依赖关系等之外,还会详细地罗列出该应用程序所需的系统访问。该文件的基本格式如下:

  1. <?xmlversion="1.0"encoding="utf-8"?>
  2. <manifestxmlns:android="http://schemas.android.com/apk/res/android"
  3.      package="cn.com.fetion.android"
  4.      android:versionCode="1"
  5.      android:versionName="1.0.0">
  6.    <applicationandroid:icon="@drawable/icon"android:label="@string/app_name">
  7.        <activityandroid:name=".welcomActivity"
  8.                   android:label="@string/app_name">
  9.             <intent-filter>
  10.                 <actionandroid:name="android.intent.action.MAIN"/>
  11.                 <categoryandroid:name="android.intent.category.LAUNCHER"/>
  12.             </intent-filter>
  13.         </activity>
  14.    </application>
  15.   <uses-permissionandroid:name="android.permission.SEND_SMS"></uses-permission>
  16. </manifest>

如上述文件描述中斜体部分,该文件的作用是说明该软件具备发送短信的功能。Android定义了106种permission,可供开发人员使用,具体详见网址:http://developers.androidcn.com/reference/android/Manifest.permission.html。

更多相关文章
  •   (一)Android系统框架详解        Android采用分层的架构,分为四层,从高层到底层分为应用程序层,应用程序框架层,系统运行库层和Linux核心层1,Android应用程序层应用是用Java语言编写的运行在虚拟机上的程序,即图中最上层的蓝色部分,其实,Google最开始时就在An ...
  • 以下是<Android的框架API與贏家密碼>此书第一章概要,详情见附件Google Android的框架API與贏家密碼_第一章共有九个观点: 1.0 前言:有欧美的一句成语:“魔鬼就在细节中”来引用阐述在Android 的系统架构裡,其API 大多呈现于基类(Super-Class) ...
  • 在这里记录下最基本的用法,官网上可了解相关的介绍. 1.下载OrmLite jar 在下载android的:ormlite-android-4.48.jar和ormlite-core-4.48.jar,放在你项目的libs目录下. 2.编写Bean类 package com.example.orml ...
  • 转载Android应用框架及常用工具类总结
    转载自:Android应用框架 http://www.tuicool.com/articles/feqmQj 常用工具类总结    http://blog.csdn.net/krislight/article/details/11354119 一. UML类图复习:        UML类图中有些标 ...
  • Android开源框架Universal-Image-Loader解析一
    来自xiaanming的一篇博客:Android开源框架Universal-Image-Loader解析之基本介绍及使用. 相信大家平时做Android应用的时候,多少会接触到异步加载图片,或者加载大量图片的问题,而加载图片我们常常会遇到许多的问题,比如说图片的错乱,OOM等问题,对于新手来说,这些 ...
  • 5个最佳的Android测试框架(带示例) – 码农网
  • Android测试框架初步
    一.实验目的 1.掌握android测试项目的建立 2.掌握android测试框架的基本内容 3.编写运行android测试 二.实验内容与步骤  建立android项目MyProject,运行截图如下: l  点击ok按钮,EditText内字母变大写 l  点击超链接,打开浏览器上网 请用知识对 ...
  • Android开源框架Universal-Image-Loader完全解析二---图片缓存策略详解
    本篇文章继续为大家介绍Universal-Image-Loader这个开源的图片加载框架,介绍的是图片缓存策略方面的,如果大家对这个开源框架的使用还不了解,大家可以看看我之前写的一篇文章Android 开源框架Universal-Image-Loader完全解析(一)--- 基本介绍及使用, 我们一 ...
一周排行
  • Windows系统下通过TigerVNC连接Linux桌面
    最近在Linux系统上面安装Cisco Anyconnect VPN客户端时需要有图形界面 ...
  • VPNaas简介VPNass是neutron的vpn服务,目前社区提供了基于openswan实现的IPsec VPN以及基于硬件实现CiscoCsrIPsec VPNVPNaas配置yum install opens ...
  • Linux基础之正则表达式grep,egrep
    一.概念    正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符.及 ...
  • 分析:监控用户摇的动作,并且播放声音 主要功能就是上面两步,实现监控用户是否在摇,shake.js 解决了这个问题, var myShakeEvent = new Shake({ threshold: 7, // 摇 ...
  •   在六月的时候,微软就发布了 Windows Phone 8 的相关信息,不过那时候对 Office 功能没有详细的描述.不过今天小编要告诉大家一个好消息,那就是微软终于在今日揭开了Office 2013的神秘面纱 ...
  • Excel(九)-怎样让你的Excel界面更干净
    很多朋友在阅读Excel文件时可能都会有一个困惑,即:Excel 的界面可视化效果不好(工 ...
  • WAP的发展离不开其WEB的底蕴,毕竟,整个WAP协议的制定参照了WEB的模型,并且尽可能地沿用了Internet的诸多标准和技术,如WML语言脱胎于HTML与XML,WMLscrīpt与传统的脚本语言也很相似.WA ...
  • AndroidIOSWebRTC音视频开发总结三九--win10升级为何要p2p
    本文主要介绍webrtc p2p的应用场景,文章来自博客园RTC.Blacker,支持原创 ...
  • 今天用Perl实现了发送邮件,需要用Perl Package Manager下载了Net-SMTP_auth模块use Net::SMTP_auth;$smtp = Net::SMTP_auth->new('m ...
  •     最近配置vsftp,实现虚拟用户禁止其跳出自己主目录的功能,在网上搜索一圈,答案无一例外的是设置参数 chroot_list_enable=NO 即可,然而多次尝试,却死活不行,经过多次测试,结果让人苦笑, ...