Android测试入门篇
Android本身是一套软件堆叠(Software Stack),或者成为软件叠层架构,叠层主要分成三层:操作系统、中间件和应用程序。
Android构架
1. Application 应用程序层:用Java语言编写的运行在虚拟机的程序

用户直接使用的功能,其基本应用比如:电话、联系人、短信、邮件等,还有无数第三方应用。
2. Application Framework 应用架构层:编写Google发布的核心应用程序的API框架

开发应用程序使用的基础组件,相当于供应用程序调用的API、Java开发,包括:丰富的界面控件、Content Provider,数据存储组件,应用程序可以通过Content Provider分项数据给其他应用,也可以访问其他程序的数据,A Resource Manager,资源管理器,帮助应用程序访问图片,布局文件等资源,A Notification Manager,提示信息管理器,An Activity Manager,主要负责管理应用程序的生命周期和调用栈等。
3. Android Runtime 系统运行库层:

包括两个部分,一是运行环境:应用程序的运行空间,包括一个实现Java语言大多数功能的核心库,以及一个类似Java虚拟机的Dalvik虚拟机,所有应用程序都是运行在虚拟机中。二是库文件界面:一系列的C/C++库,相当于Android系统在Linux核心系统上的功能扩展,为Application Framework层的许多功能提供支持。
4. Linux Kernel 核心层:

Linux 核心,Android的基础,基于2.6的版本,基本的操作系统组件,包括内存管理,进程管理,存储管理,网络栈,驱动模型等等。
Android建立在Linux内核之上,但是Android不是Linux,它没有支持本地窗口系统,没有支持glibc运行库,没有包含完整的Linux内核。
Android系统特点
1. 开放性
2. 应用程序无限性:Android上的应用程序可以通过标准API访问核心移动设备功能,通过互联网,应用程式可以声明它们的功能可供其他应用程序使用。
3. 应用程序是在平等条件下创建的:移动设备上的应用程序可以被替代或扩展。
4. 应用程序可以轻松嵌入网络
5. 应用程序可以并行运行:在后台运行时,应用程序可以生成通知来引起用户注意。
Linux文件系统结构
Android系统基于Linux,因此,做Android测试掌握一定的Linux知识是必要的。Linux文件系统结构是用户空间和内核中与文件系统相关的主要组件之间的关系:

用户空间包含一些应用程序和GUN C库,它们为文件系统调用提供用户接口。
VFS是底层文件系统的主要接口,这个组件导出一组接口,然后将它们抽象到各个文件系统。
有两个针对文件系统对象的缓存:inode cache 和 dentry,它们缓存最近使用过的文件系统对象。
缓冲区缓存会缓存文件系统和相关块设备之间的请求。
Linux文件系统采用阶层式树状目录结构,最上层是"/",然后再下边创建其他的目录,如/bin。
Android测试入门篇的更多相关文章
- 1、Android测试入门
编写和运行测试时Android APP开发周期中的重要的一环.好的测试可以让你非常容易的在开发过程中发现bug,提升你对自己代码的自信.使用Android Studio,你可以在物理设备或者虚拟机中运 ...
- Android测试入门学习
一,Android测试新人练习——安装及文件传输 [课前准备] Android测试环境搭建 1.下载并安装JDK: http://www.oracle.com/technetwork/java/jav ...
- Android 测试入门之---Monkey test
这周重点学习的也是Android monkey test 的一些相关知识,也对其进行了初步的操作和试验.讲学习资料整理如下 : Monkey是一个命令行工具 ,可以运行在模拟器里或实际设备中.它向系统 ...
- APP测试入门篇之APP基础知识(001)
前言 最近两月比较多的事情混杂在一起,静不下心来写点东西,月初想发表一遍接口测试的总结,或者APP测试相关的内容,一晃就月底了,总结提炼一时半会也整不完.放几个早年总结内部培训PPT出来 ...
- Android宝典入门篇-进阶
学习Android前后有快有1个月了,本着不耍流氓,谈恋爱就要结婚的信念(其实AD开发也挺有趣的),做了自己的第一个Android小应用.本来准备今天和大家分享的,考虑到在不同屏幕上的效果没测试和本着 ...
- Android宝典入门篇-基础知识
今天跟大家分享的是我学android时的笔记.以前搞net很多年了,现在还在搞这.本着活到老学到老抽了点时间学习了下android.android网上有很多的视频教程,当时对于我这样以前不了解java ...
- Android Studio2.0 教程从入门到精通Windows版 - 入门篇
http://www.open-open.com/lib/view/open1468121363300.html 本文转自:深度开源(open-open.com)原文标题:Android Studio ...
- Android渗透测试Android渗透测试入门教程大学霸
Android渗透测试Android渗透测试入门教程大学霸 第1章 Android渗透测试 Android是一种基于Linux的自由及开放源代码的操作系统,主要用于移动设备,如智能手机.平板等.目前 ...
- Hadoop基础-MapReduce入门篇之编写简单的Wordcount测试代码
Hadoop基础-MapReduce入门篇之编写简单的Wordcount测试代码 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本文主要是记录一写我在学习MapReduce时的一些 ...
随机推荐
- Druid.io系列(八):部署
介绍 前面几个章节对Druid的整体架构做了简单的说明,本文主要描述如何部署Druid的环境 Imply提供了一套完整的部署方式,包括依赖库,Druid,图形化的数据展示页面,SQL查询组件等.本文将 ...
- CEF3中js调用delphi内部方法
2015-01-20修改:以下方法不适合delphi7,在CEF3源码中限制了delphi_14 up,对于被我误导的朋友说声抱歉 在CEF1中JS调用delphi的方法已经贴过:http://www ...
- Julia - 匿名函数
Julia 中的函数可以被匿名构造,成为匿名函数,匿名函数是没有函数名的函数 julia> x -> x + 1 #3 (generic function with 1 method) 这 ...
- Python handling an exception
#try...except... try: You do your operations here; ...................... except ExceptionI: If ther ...
- 关于微信支付URL未注册其中的坑THINKPHP5
1 微信支付是区分大小写的 TP有的URL 会默认转换 http://ams.###.com/index/Pay/wechat/order_number/ 会被解析 http://ams.###.co ...
- 爬虫验证码处理与IP处理
引入 相关的门户网站在进行登录的时候,如果用户连续登录的次数超过3次或者5次的时候,就会在登录页中动态生成验证码.通过验证码达到分流和反爬的效果. - 1.对携带验证码的页面数据进行抓取 - 2.可以 ...
- TortoiseSVN/Git覆盖图标失效的解决方案
之前在电脑上安装了TortoiseGit和TortoiseSVN这两种版本控制,使用一段时间之后发现,这两种版本控制的覆盖图标都无法显示,起初以为是git和svn使用的图标的不一样,有冲突,导致这两种 ...
- 5.Redis 发布订阅
转自:http://www.runoob.com/redis/redis-tutorial.html Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub ...
- Synchronized块同步变量的误区
我们可以通过synchronized块来同步特定的静态或非静态方法.要想实现这种需求必须为这些特性的方法定义一个类变量,然后将这些方法的代码用synchronized块括起来,并将这个类变量作为参数传 ...
- python+Django创建第一个项目
1.首先搭建好环境 1.1 安装pyhton,Linux系统中,python是系统自带的所以就不用安装 1.2 安装Django框架 使用pip安装: pip install django 1.3 检 ...