第三章介绍了App安全性测试系统的需求分析,包括市场需求和功能需求。
第四章从功能和技术的角度讲述了待开发系统的总体设计和详细设计。
第五章详细阐述了系统的具体实现过程,它包数据库,Android软件以及Java服务器的设计和开发流程。
第六章讲述了系统的功能测试,提出了存在的问题,并对此次系统开发的过程进行了总结。
第二章可行性研究
为了开发一款Android系统的App安全性测试系统,先要进行可行性研究,而对于目前的研究现状来说,主要是进行技术可行性研究,下面将先引入相关技术介绍。
2。1相关技术介绍
2。1。1 Android系统体系结构
Android系统是由Google的Open Handset Alliance(OHA)团队开发的移动开源平台。由于其开源性,Android系统能轻松地在异构环境下运行,开发者可以对Android系统进行随意修改,以符合实际的生产需求。
基于对现有文献的研究,可以总结出典型的Android系统体系结构共分为三个层次(如图1-1所示):
(1)第一层是Android系统底层,包含Linux内核层和硬件抽象层。这一层主要完成的是操作系统所具有的功能,包括硬件的驱动程序,各个硬件设备的接口等。
(2)第二层是Android核心层,包含了Android核心库,Android运行环境以及应用程序框架层。其中核心库包含了C/C+等开源函数库,这些库能够被用于Android系统中的各个组件。Android运行环境是安卓应用程序运行时所需的环境,由Java程序运行的核心库和Google的Dalvik虚拟机组成。应用程序框架层提供了丰富的程序开发接口,这些接口能与Android系统底层进行交互,可供开发者使用。
(3)第三层是应用程序层。这层提供了直接与用户进行交互的软件,它包括系统预装软件和用户安装的第三方软件。
图1-1 安卓系统体系结构
2。1。2 Android系统的四大组件
Android系统有四大组件,它们是构成Android软件必不可少的元素,分别是:Activity、Service服务、BroadcastReceiver广播接收器以及ContentProvider内容提供者。
(1)Activity:在安卓软件中,Activity相当于一个用户界面,一个Android软件通常有多个用户界面,也就拥有多个Activity。Activity可以直接向用户呈现视图组件,也可以监听并处理用户的操作事件并做出响应。
(2)Service:一个Service类似于操作系统的后台服务,是没有用户界面的程序。Service通常有较长的生命周期,在系统清理内存的时候一般也会受到保护。在Android中,Service又分为两种:一种是本地Service,运行在本地进程中,只能由承载此Service的软件使用;还有一种是远程Service,这种Service运行在其它的进程中,通常常驻在内存中运行, 可供设备上的其他应用程序远程访问。
(3)BroadcastRreceiver:这是广播接收器,主要是用来监听系统的各个行为,例如当电量不足、拨打电话、短信接收等状态出现时,候系统会发送一条广播信息通知其他进程,而注册了这个广播的进程便能收到通知。论文网
(4)ContentProvider:这是安卓系统的“内容提供者”,它存储了各种数据,包括系统数据和应用程序的数据,例如通讯录等。安卓系统中软件之间的通信基本都是通过ContentProvide来实现。
2。1。3 Android SQLite数据库
SQLite是一款轻量级的关系型数据库,因它占用资源少的特点,被广泛应用于各类嵌入式设备中。SQLite数据库支持目前市场上所有流行的系统,兼容性强,开发者也可以使用多种开发语言通过ODBC接口来对它进行操作。SQLite数据库使用标准的SQL数据库操作语言,操作起来十分方便。总体来说,SQLite由以下几个部分组成:SQL编译器、内核、后端以及附件,其整体结构图如图2-1所示。