基于Android的移动应用程序开发及其安全性外文翻译资料

 2022-11-20 17:14:34

英语原文共 4 页,剩余内容已隐藏,支付完成后下载完整资料


基于Android的移动应用程序开发及其安全性

苏哈斯·霍拉,马希马·M·卡蒂

1介绍

Android是一个新的下一代移动操作系统,运行在linux内核上。Android移动应用程序开发基于Java语言代码,Android手机应用程序开发基于Java语言代码,因为它允许开发人员用Java语言编写代码。这些代码可以通过支持Google的Java库来控制移动设备,它是使用google 、android 、sdk提供的软件栈开发移动应用程序的重要平台。 Android移动操作系统为Android手机应用程序开发提供了一个灵活的环境,因为开发人员不仅可以使用Android的Java库,而且还可以使用普通Java IDES。印度移动发展公司的软件开发人员在开发基于Java库和其他重要工具的应用程序方面具有专门知识,Android移动应用程序开发可用于创建创新和动态的第三方应用程序。印度移动开发公司在游戏软件、组织者、媒体播放器、图片编辑、手推车设备等项目上开展了广泛的工作。

2背景研究

该平台已正式宣布,SDK工具已于2008年10月面世。目前只有一款运行Android操作系统的手机,即T-Mobile的G1。根据副主席的说法 lial android网站(Android 2008)是基于四个核心功能。

2.1应用基础

Android应用程序是用Java编程语言编写的。但是,重要的是要记住,它们不是使用标准的Java虚拟机(JVM)执行的。相反,谷歌已经创建了一个名为Dalvik的定制JVM,它负责转换和执行Java字节代码。必须将所有自定义Java类转换为(这是自动完成的,但也可以手动完成,在执行到Android操作系统之前、与Dalvik兼容的指令集。Dalvik JVM接受生成的Java类文件,并将它们组合成一个或多个Dalvik Executable(.dex)文件夹。它重用多个类文件中的重复信息,有效地将空间需求(未压缩的)从传统的.jar文件中减少一半。Dalvik创建来支持轻量级移动操作系统的本质,是因为与传统台式机或笔记本相比,硬件功能有限。

2.2Android平台概述

Android是一个移动设备的软件栈,包括操作系统、中间件和关键应用程序。Android SDK提供了开始使用Java编程语言在Android平台上开发应用程序所需的工具和APIs。基于Linux2.6版本的Android系统服务,如安全、内存管理、进程管理等,都是由linux控制的。

2.3开发Android应用程序

Android SDK提供了一套广泛的应用程序编程接口(API),它既现代化又健壮。Android手机核心系统服务公开并可供所有应用程序访问NS。当授予适当的权限时,Android应用程序可以彼此共享数据,并安全地访问系统上的共享资源。Android应用程序是用Java语言编写的。

2.4应用架构

通过提供一个开放的开发平台,Android为开发人员提供了构建极其丰富和创新的应用程序的能力。开发人员可以自由地利用设备硬件、访问位置信息、运行后台服务、设置警报,将通知添加到状态栏等等。

开发人员完全可以访问核心应用程序使用的相同框架API。应用程序架构是设计以简化组件的重用;任何应用程序都可以发布其功能,然后任何其他应用程序都可以使用这些功能(但必须遵守强制的安全约束。 (根据框架)。这种机制允许由用户替换组件。

所有应用程序的基础是一组服务和系统,包括:

(1)一组丰富且可扩展的视图,可用于构建应用程序,包括列表、网格、文本框、按钮,甚至是可嵌入的web浏览器。

(2)使应用程序能够从其他应用程序(如联系人)访问数据或共享自己数据的内容提供程序。

(3)一个资源管理器,提供对非代码资源(如本地化字符串、图形和布局文件)的访问。

(4)一个通知管理器,使所有应用程序能够在状态栏中显示自定义警报

(5)一个活动管理器,它管理应用程序的生命周期,并提供一个通用的导航后端。

2.5 Android运行

Android包括一组核心库,它提供了Java编程语言核心库中可用的大部分功能。每个android应用程序都在自己的进程中运行。 ,使用它自己的Dalvik虚拟机实例。Dalvik已经编写,这样一个设备就可以高效地运行多个VM。DalvIK VM以针对最小内存占用空间而优化的DalvIK可执行文件(.dex)格式执行文件。VM基于寄存器,并运行由Java语言编译器编译的类,这些类已被包含的“dx”工具转换为.dex格式。 Dalvik VM依赖linux内核提供底层功能,例如线程和低级内存管理器。

3应用程序开发的分层方法

在本文中,我们提出了一种分层的Android应用程序开发方法。这可以用于基于web的程序开发。

图3显示了Android应用程序开发的分层方法。

最低级别是HTTP层,负责向服务器发送HTTPGET和POST请求,并接收回应。下一层是API层。这是为了解析来自服务器的响应,并制定查询并将其传递给HTTP层。API层从HTTP层获取响应字符串并解析该字符串。它还有助于提取必要的字段并将其传递给数据层。泛型数据层包含包括设计业务层和实现功能的组件。比如缓存、异常管理、日志记录和验证。其次是平台相关的数据层,它从API层获取数据并使用它。它以与平台相关的方式存储数据。有些类,如适配器、列表视图等根据平台存储数据。最后一个是UI层。这有助于向用户显示数据并管理用户交互。它有两个组件:用户界面组件和用户进程组件。用户界面组件为用户提供与应用程序交互的方式。用户进程组件同步并组织用户交互。UI层负责Android中的视图。它有视图、按钮、布局等。

3.1应用模型

在Android的应用程序模型中,应用程序是一个组件包,每个组件都可以根据需要进行实例化和运行(甚至可能由其他应用程序)。部件是折叠的翼型:活动组件构成用户界面的基础;通常,应用程序的每个窗口都由某些活动控制。服务组件在后台运行,即使窗切换了口仍然处于活动状态。 服务可以公开与其他应用程序通信的接口。接收方组件对来自其他应用程序的消息作出异步反应。供应商组件存储与应用程序,通常在数据库中。这些数据可以在应用程序之间共享。

例如,考虑一下基于Android手机的在线照片查看应用程序。此应用程序可能有几个组件。有一些活动是以网格或列表的形式在手机上查看照片的。在后台可能有下载照片的服务。当调用出现时,可能有接收者在呼叫进入时暂停应用程序,以及在调用结束时重新启动应用程序。应用程序不应影响设备的高优先级功能,如来电、输入短信、电池低指示等。最后,可能有一个提供程序来存储照片电话里的细节。

3.2组件类和方法

Android SDK为每种类型的组件(活动、服务、接收者和提供程序)都有一个基类,具有回调方法,这些回调方法在关联的生命周期的各个点被调用。每个组件都有一个生命周期。应用程序的每个组件都是通过扩展一个基类并重写该类中的方法来定义的。特别是:

(1)Activity类具有在创建活动、或活动调用其他活动或返回活动时运行的方法。

(2)Service类具有在服务启动时运行的方法,或者某些组件绑定到此服务,甚至组合了这两种方法。

(3)Receiver类有一个方法,当消息发送到此接收器时运行该方法。

(4)提供程序类具有删除、查询和更新此提供程序存储的数据的方法。

4 Android安全框架

谷歌Android手机平台是最受期待的智能手机操作系统之一。智能手机可以代替电脑笔记本电脑。随着移动设备的增加,随着移动设备能力的提高,新的应用程序开发的机会越来越多。近年来,在今天的手机市场中,移动应用的发展已经达到了很高的要求。Android为开发移动应用程序定义了一个新的基于组件的框架,其中每个应用程序都由不同数量和类型的组件组成。活动组件是用户界面的基础,呈现给用户的每个屏幕都是不同的活动;服务组件提供后台处理,即使在应用程序失去焦点之后也会继续;内容提供程序组件以关系数据库形式共享信息。SQLite嵌入到支持关系数据库的Android中。例如,该系统包括一个具有内容提供者的应用程序,该应用程序专门用于共享用户的通讯录,其他应用程序可以对其进行查询。最后,广播接收机组件的作用作为来自系统和其他应用程序的消息的异步邮箱。总的来说,这个应用程序框架支持应用程序之间灵活的协作程度,其中依赖关系可以是简单的,也可以是复杂的。

4,1 Android应用程序沙盒

沙箱通常位于内核空间内,因为可以实现对操作系统关键部分的访问。内核是系统中非常重要的一部分,因为它充当硬件之间的桥梁。和软件。沙箱系统的一种方法是监视系统和库调用,包括它们的参数。这通常是通过系统调用重定向来完成的,也称为系统调用劫持。。系统调用,即简短的系统调用,是从用户空间向内核进行的函数调用,目的是从操作系统请求某些服务或资源。

4.2 Android应用程序的静态和动态分析

两种常见的恶意软件检测实践是静态分析和动态分析。静态分析包括反编译、解密、模式匹配和系统调用。在所有这些情况下,软件都没有被执行。在这里,一种常见的方法是通过恶意模式过滤二进制文件,称为签名。另一种恶意软件检测技术是动态的。分析包括在受控环境中运行系统并监视其行为。它包括监视文件更改、网络活动、进程和线程等。一种常见的方法动态软件分析是沙箱。沙箱可以定义为“根据安全策略限制进程操作的环境”。实际上,这意味着沙箱是目标系统的一个实例,它是以防止恶意软件执行有害操作的方式隔离的。由于这两种技术都有一定的缺点,托马斯·布尔对此进行了提出了一种新的两步分析android应用程序,包括一个成熟的内核空间沙箱和一个快速的静态预检查。沙箱自动执行,不需要任何人机交互,并保存系统调用和静态分析的日志以供进一步检查。作为输入,沙箱接受一个Android应用程序存档,它打包在*.apk文件中,因此称为APK。应用程序是用Java编写的,并在Dalvik虚拟机中运行。首先将应用程序源代码编译成标准的Java字节码,然后进行优化和转换。以Dalvik可执行格式来解释Dalvik 虚拟机。然后,字节码与其他应用程序资源一起打包,包括ui布局、本地化和一个清单文件(清单文件)的应用程序的结构。

剩余内容已隐藏,支付完成后下载完整资料


资料编号:[23000],资料为PDF文档或Word文档,PDF文档可免费转换为Word

原文和译文剩余内容已隐藏,您需要先支付 30元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。