【Android源码 栏目提醒】:网学会员为广大网友收集整理了,Android系统与android在机顶盒中的应用 - 其它资料,希望对大家有所帮助!
Android系统与
android 在机项盒中的应用 —— 软件一部 李义才 2011.08.01 内容提要
Android系统特征及相关技术
Android系统中扩展DVB电视业务使用skhdi/skyapi支持DVB业务面向机顶盒产品定制
Android系统
Android系统中应用开发的相关技术1.
Android系统特征及相关技术
Android系统概况
Android系统版本
Android系统开发
Android系统的优缺点1.1
Android系统概况 最流行的手机开发平台,包括操作系统、 中间件和一些关键应用的软件堆栈。
软件叠层架构: 内核层 系统库及运行时环境层 应用框架及应用程序层1.1.1
Android内核 基于Linux核心的软件平台及业务系统,系统内核 依靠Linux2.6版的核心系统服务 除Linux标准驱动外,需要一些专有驱动,如 Binder、Log、Ashmem1.1.2 系统库及运行时环境
Android包含多种嵌入式函数库被系统中不同 的组件使用,通过应用程序框架为开发者提供 服务。
主要的核心库有 :系统C/C、媒 体、2D/3D图形引擎及图形管理、浏览器引 擎、数据库、字体等 。
Dalvik虚拟机:基于寄存器依赖Linux内核、 同时运行多个实例、执行.dex文件1.13 框架及应用 应用框架则是可重用的软件组件,简化应 用程序的开发,向应用提供API。
应用程序是带GUI的程序,包含各种资 源,基于框架层的API。
用Java语言编写。
1.2
Android系统版本 已经发布的重要版本:
Android 1.1:发布于2009 年2 月
Android 1.5 Cupcake:发布于2009 年 5 月
Android 1.6 Donut:发布于2009 年 9 月
Android 2.0/2.1 Eclair:发布于2009 年 10 月
Android 2.2 Froyo:发布于2010 年 5 月 20日
Android 2.3/2.4 Gingerbread:发布于2010 年12月
Android 3.0 Honeycomb:发布于2011 年 2 月1.3
Android系统开发
Android系统开发三个层次:
Android系统移植开发
Android子系统开发
Android应用程序开发1.3.1
Android系统移植开发
Android系统移植开发涉及: 内核层的移植 :Ashmem 、Logger 、 Binder 、Pmem 、Low memory killer 。
CONFIG_ANDROIDy CONFIG_
ANDROID_BINDER_IPCy CONFIG_
ANDROID_LOGGERy 设备驱动 :Linux标准设备驱动程序 。
系统启动过程修改 :init进程与Init.rc。
Dalvik虚拟机:目前支持的CPU:ARM、X86、 MIPS 。
图形加速及硬件编解码支持1.3.3
Android应用程序开发 应用程序使用Java语言开发,程序如游戏开 发、 播放器开发等。
应用程序开发两种环境: 基于
Android源代码的SDK:只能在Linux下 基于
Android SDK: Linux或Windows中的 IDE下 Google提供的SDK包含
Android系统映像、模 拟器和相关工具,只需要了解系统API,只能 开发应用程序1.3.2
Android子系统开发
Android子系统开发涉及各个层面: 封装所使用到的硬件抽象层代码 增加C/C本地业务库 定义Java层所需要的类系统API 将本地业务库的功能接口封装成JNI 结合Java类和JNI 提供应用程序调用的Java框架类1.4.1
Android系统的优势 完全开放的系统,吸引越来越多的厂家和消费者, 将崔生众多硬件支持和程序选择。
无缝结合google应用,如Google地图、邮件、搜 索等互联网的重要服务。
开源软件系统,功能强大,众多支持软件,如 webkit浏览器、播放器、FLASH等。
高效的JAVA虚拟机Dalvik,支持JAVA,速度快。
1.4.2
Android系统的劣势 版本更新快,如何保持前后兼容 完全开发的系统,如何保持不同厂家之间兼容
Android3.0及以后的版本是否会象之前一样完 全开放 与ORACLE间Java专利诉讼案 其它公司的专利侵权诉讼,如微软、苹果等2.
Android系统中扩展电视业务
Android多媒体系统介绍
Android中广播流播放过程设计 DVB播放特点及播放过程优化 扩展DVB业务 机顶盒应用开发2.1
Android多媒体系统
Android多媒体业务目前主要有: Music Player音频播放器 Video Player视频播放器 Camera照相机 Sound Recorder录音机 Camcorder摄像机 Video Metadata媒体元信息
Android多媒体系统的宏观结构 JAVA class of Media Media JNI LibMedia MediaPlayer MediaRecorder IPC Media Service IMediaPlayer IMediaRecorder StageFright PVPlayer Player LibOpenCore LibStageFright JAVA类:frameworks/base/media/java/
android/media/java 实现的JAVA包是
android.media,实现了mediaplayer、 mediarecorder等几个重要的类。
JAVA本地调用部分(JNI):frameworks/base/media/jni/; 这部分内容编译成libmedia_jni.so 。
多媒体框架的media库:frameworks/base/media/libmedia/; 这部分的内容被编译成库libmedia.so。
多媒体服务:frameworks/base/media/libmediaplayerservice 这部分内容被编译成库libmediaplayerservice.so。
利用它实 现的frameworks/base/media/mediaserver是一个可执行程 序,用于启动一个多媒体的守护进程。
多媒体的实现:
Android中使用OpenCore /external/opencore/和StageFright frameworks/base/media/libstagefright两个库实现媒体播 放。
Android多媒体系统的层次及模块