(西安工程大学,陕西西安710600)
摘要:当今社会,智能手机已经普及在我们周围,是生活学习、发现新鲜事的一条捷径,安卓系统经过近几年的发展,在市场上的占有率已达到了九成。安卓系统在众多操作系统中占有非常重要的地位。本文介绍安卓开发技术的研发情况。
关键词:安卓;开发技术;智能
一、国内安卓开发技术现状
科学技术的飞速发展加快了人们的生活节奏,也逐渐将社会推向智能化和数字化。2011年,对于安卓操作系统是重要的一年,在这一年,电子产品中安卓系统的排名跃升至全球第一位。在2012年11月的相关数据表明,安卓系统的操作系统所占比例为76%,在我国的市场中,占有率也高达九成。十分之九的人们使用的是安卓系统,可见安卓系统普及度之高。同时,经过无数次更新换代,在功能、外观和性能等方面都有很大的进步,用户满意度也越来越好[1]。
二、安卓相关技术技术
(一)安卓系统简介
从2003年到今天,安卓一直在进步,它的版本已经有很多种类。在它正式发行之前,安卓最初只拥有两个测试版本,并以机器人名来命名分别为发条机器人(Android1.0)和阿童木(AndroidBeta),之后因版权问题,谷歌从Android1.5开始采用甜点的名字来代表版本号。比如:冰激凌三明治(Android4.0)、蜂巢(Android3.0)、冻酸奶(Android2.2)。
(二)APK动态分析技术及静态分析技术
动态分析技术是指使用一些调试工具,调试分析应用程序中的log文件,内存和通信信息等。静态分析则只在不运行代码的方式下,通过语法分析,控制流,数据流,技术对程序代码进行扫描。一个主要进行代码安全分析、组件安全分析,存储安全分析及通信安全分析。在APK文件中的资源是经过压缩,以AXML格式存在,需用工具将其转为可读的Xml文件。反编译有强大的第三方工具APKTOOL支持,而另一个则是为了了解代码的结构逻辑的流程,修改,插入,替换修改资源等。详细介绍代码分析指产生代码安全的主要原因是apk文件很容易被反编译、重打包、Apk有被篡改、盗版等风险。要保证所运行的代码是安全可信的,组件安全分析是指四大组件的分析,包括activity,service,brocastreceiver,contentprovider,也有权限使用不当带来的问题,包括:仿冒应用,恶意发送广告,恶意调用等[2]。
(三)动态注入技术
动态注入技术对于安全软件和恶意软件来说都是十分关键的一项技术。由于处于linux用户态,每个进程都有自己独立的空间,所以先注入动态进程空间,修改内存中的进程代码,换其符号地址。动态注入技术工作流程工作原理主要包括两大问题:一是如何注入代码,二是如何注入动态链接库。向目标进程中注入代码总结后的步骤分为以下:用Ptrace函数attach上目标进程、发现装载共享库so函数、让目标进程的执行流程跳转到注入的代码执行、使用ptrace函数的detach释放目标进程。动态注入技术的种类包括Java层APIHooK和native层so库hook。
(四)MVC架构
Model-View-Controller(模型-视图-控制器),此软件模型目前已得到软件行业的认可,并投入广泛的应用,在使用ColdFusion和PHP进行开发的开发者中,受到越来越多的人青睐。虽然有丰厚的优点,缺点也不可避免,MVC设计模式中核心部件包括视图、模型和控制器,各自执行自己所负责的任务,同时和谐统一的服务于整个MVC框架。随着科技的发展,视图及用户与之交互的界面,也在不断发生变化。对于旧的web应用程序,视图界面由HTML元素组成,对于新的web应用程序,出现新的技术,包括Flash、3DMax和XHTML等一些标识语言,使样式变得多种多样。模型处理工作所占比重最大,它表示业务规则和企业处理,比如ColdFusionComponents和EJBs这样的构件对象。数据与模型没有关系。因此一个模型可以为多个视图给予数据,只需写一次便可被多个视图引用,更大程度简化了代码内容,降低重复率。控制器的作用是接收输入的数据,并完成用户的请求。控制器在用户点击链接时是不进行工作的,也不对外输出数据。它的工作是接受使用者的请求挑选某个视图及模型来处理并完成请求。处理的过程是模型的工作,与控制器无关。控制器还要确定通过哪个试图来显示模型处理后的数据[3]。
(五)Android应用程序构成
与其他系统中的应用程序不同的是,Android应用程序的启动入口可以是不唯一的。一般情况下,一个Android应用程序是很多不同组件拼合在一起的。Android应用程序的四个构成模块要有Activity、Service、Intent和ContentProvider。当然,大多数时候仅需要其中一个或几个合作完成,没有任何一个都是绝对必备的。其中有一个特例配置文件名为AndroidManifest.xml。它的作用是声明,应用程序中的所有组件、组件的功能以及必要条件都必须在配置文件中,声明才可使用、正常运行,它是不可缺少的前提。
总结:
随着科学技术的进步,智能手机逐渐代替了很多电脑的功能。为了使各种尺寸的屏幕和移动终端可以访问更多站点,响应式网页设计更多的移动终端推向主流。智能手机已很大程度接近一台微型计算机,因为它的存在,人们的生活更加方便快捷,这样基于Android的服务平台,将必然可以给人们的生活带来更方便和快捷的体验。相信安卓开发技术会成为社会服务的必备工具。
参考文献
[1]李杨,冯刚,李亮,罗拥华.基于Android的多媒体应用开发与研究[J].计算机与现代化,2011,(04).
[2]黄家兴,王萌,沈奇威基于Android的移动互联网应用框架方案[J].电信工程技术与标准化,2012,(08).
[3]马王林.面向移动互联网的开放服务技术框架及若干关键技术研究[J].北京邮电大学,2013.