Android专业设置的调研报告
一、Android简介与发展历程
1、 Android简介
Android 是Google历经数年和投资数亿美元开发出来的智能手机系统,是基于Linux内核的操作系统,是Google公司在20xx年11月5日公布的手机操作系统。Google也发起了围绕Android的组织——开放手机联盟,其英文全称为“Open Handset Alliance”。 它采用了软件堆层(software stack,又名以软件叠层)的架构,主要分为三部分。底层Linux内核只提供基本功能;其他的应用软件则由各公司自行开发,部分程序以Java编写。
随着各大移动终端生产商大力开发和生产基于Android的移动智能设备,Android迅速得到业界和社会的认可,并成为整个产业的热点,基于Android平台的各类人才逐渐成为各大企业竞相争夺的焦点。而且Android是一个开放的系统,不管是企业还是个人都可以参与来表达自己的创意和想法。
2、 发展历程
Android是一种以Linux为基础的开放源码操作系统,主要使用于便携设备。 根据市场研究公司Gartner的统计数据显示,20xx年第二季度,谷歌Android移动操作系统的市场份额上升至17.2%,成功取代苹果IOS晋升为全球第三大移动操作系统。在20xx年第二季度一系列最新智能手机发布以后,Android操作系统在美国个人消费者市场上销售的所有智能手机中所占份额为33%,超过RIM的28%和苹果的22%。20xx年11月数据,Android占据全球智能手机操作系统市场52.5%的份额,中国市场占有率为58%。
Android是目前开放性最强的移动设备综合平台,使得电信运营商、手机制造商以及产业链各环节能够更好、更快地将产品推向市场,同时降低成本。和中国移动一样,中国联通的手机操作系统也是基于Android进行深入二次开发的。在这数年中,Android的发展日新月异,具体的发展历程如下: Android 1.1
发布时间:发布于 2009 年 2 月
代表手机:T-MOBILE G1
Android 1.5
发布于 2009 年 5 月
代表手机:摩托罗拉CILQ
Android 1.6
2009 年 9 月发布
代表手机:索尼爱立信 X10
Android 2.0
2009 年 10 月 26 日
代表机型:摩托罗拉XT800,HTC G6
Android 2.0/2.1 Eclair
2009 年 10 月 26 日,又一个主要版本升级以创纪录的速度放出。这次,大版本升级到了Android 2.1 “Eclair法式奶油夹心甜点”。
Android 2.2 Froyo
谷歌于北京时间20xx年5月20日晚上10:30点在旧金山Moscone会展中心举办 Google I/O 2010大会第二天的会议,Google正式发布了代号是“froyo 冻酸奶”的Android操作系统2.2版。相对于上一版本的改变:整体性能大幅度的提升,3G网络共享功能,Flash的支持,App2sd功能,全新的软件商店,更多的Web应用API接口的开发。
Android 2.3 Gingerbread
北京时间12月7日凌晨,Google正式对外发布了他们的下一代智能手机操作系统Android 2.3也就被大家所熟知的Android Gingerbread系统。虽然在版本号方面Android 2.3相对于前作而言的提升并不算多,但是从功能以及界面的变化上来看还是十分明显的。
Android 2.4
就像Android 2.0和2.1版本都使用Eclair(法式奶油夹心甜点)一样,Android
2.3和2.4将会共享Gingerbread(姜饼)代号。这两个版本之间的变化不会太大,但是会有不少功能更新。
Android 3.0 Honeycomb
20xx年2月3日凌晨,谷歌正式发布了专用于平板电脑的Android 3.0 Honeycomb系统。这是首个基于Android的平板电脑专用操作。首款采用 Android3.0系统的是MOTOXOOM。
Android 4.0 Ice Cream Sandwich
20xx年10月19日上午十点,谷歌与三星联手在中国香港举办发布会,公布有关Android 4.0(Ice Cream Sandwich,冰淇淋三明治)系统信息。Android4.0 拥有十大重点新特性。集成谷歌电视和Chrome OS的智能停放 ,运行速度得到进一步提升。
二、 Android专业设置的原则
1、根据社会需求增设专业方向。Android的专业设置调整依据二十一世纪我国社会发展状况,经济建设情况和本地经济发展的需求,人才需求的情况,积极稳妥地设置专业、调整专业,以适应社会经济发展和企业的人才需求。
2、Android的专业设置以学校发展、面向市场为主,突出对学生创新能力和实践能力的培养,有利于树立现代化教育教学观念,优化课程结构,改进教学方法,促进学校内部各项改革、各项资源的合理配置。
3、Android的专业设置是在教育部高职高专教育指导性专业目录及有关行业制定的相关专业设置标准、业务方位的基础上,依据改专业在本校已经具有的软硬件条件等确定的。
三、 Android专业培养目标及要求
1、培养目标
Android专业设置以高职软件技术专业人才培养方案为蓝图,培养德、智、体全面发展,即牢固掌握必需的文化科学基础知识,又以掌握软件技术专业理论知识为目标,具备桌面应用程序、中小型C/S应用程序、中小型B/S应用程序开发能力,具有较强的创新能力、较强的实践技能的“应用型”、“创业型”的复合型人才。
以毛泽东思想、邓小平理论等重要思想为指导,引导学生树立科学的世界观、人生观和爱国主义、集体主义、社会主义的思想以及良好的职业道德和行为规范,提高科学文化修养,掌握必要的文化基础知识、专业知识和熟练的职业技能,培养学生爱岗敬业的品质和适应职业变化的能力,具有创新精神,具有健康的身体和心理,具有艰苦朴素,吃苦耐劳的精神。
2、培养要求
本专业毕业生主要面向企业从事Android桌面应用程序的开发,应掌握Android开发工作所必需的基础知识、基本技能,了解我国IT行业发展及有关方针政策,培养学生在今后的学习、工作中贯彻执行政策的能力,运用所学知识分析问题、解决问题的能力,掌握本专业的Java、Java Web、J2EE以及Android应用开发等系列知识,具有较强的实践动手力能,成为懂业务、会管理、能操作,能正确地领会企业、公司的项目开发意图,能胜任团队合作开发、项目单独模块设计开发等工作,且能反馈工作中的问题并更正错误,综合职业能力强的应用型
专门人才,能胜任Android行业、Java行业岗位的工作。
四、Android专业设置的可行性
1、Android专业设置有“学科理论知识体系”的支撑
“技术专业”不像“学科专业”拥有庞大的理论体系,其“知识”只能依附于“学科体系”,“技能”只有一些零星分散在不同技术领域中的“专有技术”,这些技术无法形成“技术理论”,从来没有形成也不可能形成“技术理论体系”,因而专业设置需要“学科理论知识体系”支撑。
我系软件技术专业以C++课程为基础、数据结构课程为导向、Java系列课程为核心,有着全面完善的Java学科理论知识体系,为Android系列课程的开设奠定了良好的理论基础,并且以项目驱动为教学手段,为Android课程实训提供了培养了良好动手能力的平台。
2、Android专业的教学内容相对稳定
无论教学内容如何“与时俱进”,始终赶不上新技术发展的速度。学校培养的毕业生很难成为“先进技术的拥有者”,只能是“传统技术的传人”。现阶段,在Android方向的技术更新有着迅猛势头,但技术核心思想保持着相对稳定,所以其教学内容大体保持相对稳定,只需要更新一些就业行业上需要的新特性、新元素。
3、Android专业开设经济成本低
google提供现成的丰富api类库,并且有google doc,calendar等免费、好用的api;大量的开源代码可以借鉴;不需要缴纳例如wm或苹果或nokia的授权费用,可以大幅度降低开发成本。
4、Android专业师资培养的周期较短
“技术专业”除了执教前必须取得高校教师资格证书外,教师还必须学习所从教的专业基础课知识。只有这样,教师才能站在专业培养目标的高度重新审视自身知识体系,改造自己的知识结构。无论“技术专业”教师来自哪里,都必须经过一个“专业知识的再造过程”,因此其师资培养的周期比普通高等教育要长一些。
Android的专业课程是以Java课程的开设为基础的、在Java系列课程的开设前提下加开2门android相关知识技术方面的课程,我系老师只需针对android方面的技术知识进行自学,并参与相关的android教学培训,开展一些学术研讨
会,就能形成自己的教学模式。
5、Android专业教学师资力量可行性分析
我院有一支结构合理,整体素质优良的师资队伍,职称结构合理,老中青相结合,教研成果丰硕。Android用Java+Eclipse开发,易学易用,入门门槛低,教研室老师大都有着一定java教学经验,能够较快地进入教学角色。此外,我院通过引进大量高学历应届毕业生和企业高级技术人员,建立了一支理论扎实,实践经验丰富的双师型教师队伍。
6、Android专业实践教学可行性分析
重视实践教学环节是高等职业教育的本质特征。实践教学环节中的教学内容必须与社会岗位能力的要求相一致,至少是“高度仿真”,这就使该专业设置必须以对实践教学基地的巨额投资为基础。
我系已经有了较为完备的实践教学实验室和设备,Android的实践教学不需要再投入其他设备的投资,用现有的实验设备资源足够满足Android的实践教学内容,并且我系还可以通过校企合作等方式,让企业分担部分实践教学内容。
1)实验室的建设:有着多个设备完善的多媒体教学、实践教学实验室,配备了高端配置的计算机,能够满足现阶段各种主流开发语言的运行以及教学任务的进行,并且Android的教学与实践不需要再投入其他额外的投资,现有的硬件资源已能够满足现阶段Android主流版本的开发与教学。
2)为了使教学与实践很好地结合起来,多形式、多渠道地开展实训活动,我们将与一些实训基地建立长期的实训、培训协作关系,加强校企之间的联系,拓展实训渠道。另外,我们还将积极采取多形式的实习方式,如:顶岗实习、自择实习,校内模拟实习等,从而有力地保障学生的实训质量。
7、Android专业设置有利于提高学生的就业率
现阶段Android的流行火爆程度已经得到了社会与学校的公认,如果将社会对Android人才的需求引入到我系毕业生求职方向中,将会很大提高我系毕业生就业率与就业质量。对于高职毕业生,由于用人目的不同,用人单位考核人才的重点不是学历和学校名称,而是更看中应聘者的岗位职业能力。掌握了Android开发技能的高职毕业生能获得更好的就业和择业机会。
我系还可以通过开展相关Android技能培训考证,颁发职业资格证书,为学生的就业增加砝码。
五、 Android专业建设与发展的主要思路以及实施方案
1、专业建设与发展思路
1)专业建设前要进行充分的调研。我们已经对Android专业建设情况进行了前期调研,获得了大量的有用资料,为专业的开设和发展提供了参考。
2)加强师资力量的建设。首先是有目的地、重点地、分批地提高师资水平,如选派青年教师安博牛耳进行了Android初级培训;其次是不断地完善实验设施软件环境,从而不断地满足教学发展的要求。
3)培养大批的软件技术专业人才。为了适应职业教育形势发展的要求,办出Android专业特色,今后教学发展要面向社会的就业需求,满足企业文化的理念,为社会培养中等层次的软件技术专业人才。
4)不断深化理论教学和实践教学的改革。在Android理论教学方面,要花大力气研究和把握职业教育的发展变化规律,特别是要多调查研究Android的前沿技术与发展方向,科学定位人才的培养目标,合理设置Android专业课程,增加选修课,切实做到理论与实践紧密结合。在实践教学方面,要坚持以培养职业技能为宗旨的实训方针,加强校企、校社联系,广开实训渠道,不断探索职业教育的新思路。
2、专业建设与发展实施方案
第一阶段:20xx年11月7日至20xx年11月9日,Android专业建设小组人员进行任务分工。收集与专业建设相关的资料,进行专项研讨,确定专业建设方案。
第二阶段:20xx年11月10日至20xx年11月20日,组织专业建设小组人员到企业进行调研,了解现阶段流行的移动开发平台,采集现阶段android系统开发平台的相关信息与资料。
第三阶段:20xx年11月21日至20xx年11月23日,专业建设小组开展学术研讨,结合专业建设研究方案,学习资料,总结与分析专业建设的具体事宜。
第四阶段: 20xx年11月24日至20xx年12月9日,组织2名教师参加Android系统开发培训。
第五阶段:在20xx年上学期,开设一门Android软件开发相关的公共选修课程。
综上所述,开办Android专业是必要的、可行的。我系已经具备开设Android专业的条件,并将继续为此做好充分的准备。
第二篇:Android 调研报告
Android 调研报告
靳国杰2012.12.17
1
Android的MIPS移植过程基本平台(2012.12.1 ~ 12.21)–内核:龙芯3A Linux 3.4.10内核 + Android对标准Linux 3.4.2 内核的修改–Android基本系统(春节前)取自/android/ 性能优化
–Dalvik Turbo(Dalvik的MIPS JIT版本)解决ARM程序兼容问题–Magic Code
2???
3第一阶段:内核的移植
为什么需要移植内核?
?Android对标准Linux内核做了修改
–新的驱动程序模型:将驱动程序尽可能在“应用层”实现,支持更多移动设备类型(重点是无线通讯设备、电源管理方面)
–新的进程间通讯方式:
–新的内存管理模型:“匿名内存管理”–……
?这些修改由Android自行维护,没有进入Linux主分支
4
现有基础
龙芯3A内核 3.4.10
–张爽爽提供
功能基本正常,稳定性待测试
6??
移植方法
两条路线
1.取出android-linux-3.4.2对标准内核的定制部分,合并到龙芯3A的3.4.10里
2.取出龙芯3A 3.4.10内核对标准内核的定制部分,合并到Android-linux-3.4.2中
评估
–两条路线都可以大部分自动化(diff + patch)–难度基本相同
–为了尽可能避免对Android定制部分产生不必要的影响,初步选择第2条路线
7??
本阶段达到的目标
?新内核编译通过(已完成)
?带有Android支持的Linux内核在龙芯3A上正常运行(正在调试)
?编写小测试程序(C语言),测试针对Android新增的系统调用能够正确运行
?OpenGL ES 2.0接口正常(Framebuffer接口 + libGL.so),测试基于OpenGL的2D图形程序能够正确运行
8
可能遇到的问题和解决方法?3.4.2与3.4.10本身的不兼容性?
–可能遇到,但是在小版本上的差别应该很容易解决。Android的修改也已经充分考虑减少对具体版本的依赖?32位内核 or 64位内核
–Android历来提供的内核都是只支持32位(近年开始提供64位版本),而龙芯一直使用64位,有可能会遇到问题
?页面大小
–4K / 16K
9
已经完成的工作
?linux-kernel(for 3a)与android-linux-kernel(for mips)版本梳理完毕
?kernel编译环境搭建完成
–linux-kernel(for 3a)与android-linux-kernel(for mips)对工具链要求相同,都使用node27上的工具链。已经验证可以编译
?编译:已经通过
–合并代码是否遇到问题?-- 暂时没有遇到–合并完之后是否可以编译? -- 很容易编译通过?目前正在龙芯3A上测试
10
Android系统的移植
11第二阶段:
源代码
/android/–Android on MIPS Source Code下载8G,编译要求至少30G
12?
编译过程
权威参考:《Android Porting Guide》–下载代码
–配置编译器(交叉编译)
–配置选项
?Floating point support:软件模拟 / 硬件支持?指令集:mips32 or mips32r2(movn/movz/mul/pref)?DSP rev1 or DSP rev2(?)
?大/小尾端
–运行
?在QEMU-MIPS64el模拟器上运行(Android官方网站提供)?在龙芯3A开发板上运行
13?
可能遇到的问题和解决方法浮点
–软件模拟 / 硬件支持
页面大小
–4k / 16k
指令集
–Mips32 / mips32r2
–影响一些MIPS相关的汇编源代码其它可能出现的问题(目前未知)
14????
前人的文献
?《Dalvik虚拟机在龙芯平台上的研究与移植》,龙梦,计算机工程,2011
?《面向龙芯平台的Android系统移植研究》,十五所,计算机工程与应用,2012?类似文献还能找到十多篇,都是在龙芯2F上移植Android 3.x之前的版本,概括了早期版本移植的主要问题,有较强参考作用
15
本阶段达到的目标
Android基本系统能够在龙芯3A上正常运行
Android内置程序正常运行
图形:必须启用2D加速,尽可能支持3D加速(待确认)主要外设正常运行
–鼠标、键盘
–音频
–网络
–U盘
主流第三方软件能够运行(不包含arm指令)
初步评估性能
–启动时间 / 流畅度/Benchmark测试
16??????
虚拟机优化
17第三阶段:Dalvik
移植方法
下载Dalvik Turbo代码,替换本
交叉编译
测试运行Android内置版
19???
可能遇到的问题和解决方法指令集
–Mips32 / mips32r2
可能存在与MIPS移植相关的代码(目前未知)成熟度(待验证)
–是否100%实用化?
–是否有遗留BUG?
–当前维护状态如何?
20???
21第四阶段:Magic Code
23
维护状态
20xx年里一直非常活跃,Android 2.x
4.x都支持
上一次发布新版本是8月21日、、
24?3.x?
使用方法
?只有一个“启用”按钮
25
实用情况?网上大量评测几百款热门的2D/3D游戏,功能兼容度良好,性能良好(几乎没有任何卡顿),几乎从来没有错误
?确实能够实用化
.cn/2/lib/201202/06/20120206152.htm
君正:艾诺 NOVO7 骑士版
26
技术原理
?Magic Code未公开源代码
?根据主页上有限的提示,极大可能是纯静态的二进制翻译,将ARM的.so替换成MIPS版本(待深入确认)
?
Q :What is MagicCode?
A: MagicCode is a software designed by "c0demag1c dev team"to make it possible to run a arm based nativec apk on a mips device. It change the .so in the apk to the mips mode directllllly so that users can run a arm-apk easily. Up to now,we have tried to run a lot of apps and both of them is working well now.
27
MagicCode程序内容主要程序文件就是两个MIPS的.so程序–lib/mips:libavm403.so、libfilter403.so
28?
对Android MIPS平台的影响?Magic Code需要Android系统本身做一些修改,这部分修改代码已经在提供下载–共修改了4个文件(3个.java,一个.c)
?修改的主要是Native方法调用相关的API(具体内容还在分析)
29
技术风险评估
?当前状态:虽然Magic Code没有开放源代码,但是Android官方网站维护了必须在Android自身修改的代码,应该对所有MIPS平台都能够直接使用Magic Code
?不可控性
–Android官方持续支持MIPS?
–Magic Code后续版本?
?长远形势
–自主开发MagicCode同等功能:技术水平上应该足够完成–Android新标准:使应用程序本身完成平台无关(目前尚未成熟,有待深入调研)
30
同类技术文献
?在Android X86上执行Native ARM 代码–/binsys/archive/2012/08/25/2655882.html?新版本Android x86模拟ARM处理器,支持更多的应用程序
–/article.php?AID=261007
31
32后续计划
4个时间点Android Linux内核:12月底Android基本系统:春节前并行开展
–Dalvik Turbo虚拟机:2013.3 ~ 4–Magic Code:2013.3 ~ 4
33???