首页 Android驱动开发与移植实战详解ch01

Android驱动开发与移植实战详解ch01

举报
开通vip

Android驱动开发与移植实战详解ch01 第第 11 章章 迅迅猛猛发发展展的的 AAnnddrrooiidd 系系统统 Android(安卓)是 IT 巨头谷歌公司推出的一款手机系统,是建立在 Linux 内核基础之上的, 能够迅速建立手机软件的解决方案。Android 的功能十分强大,作为一个新兴的热点,已经成为了 软件行业中的一股新兴力量。据市场数据统计,Android 系统已经成为当今市场占有率第一位的智 能手机系统。本章将简单介绍 Android 的发展历程和背景,让读者了解 Android 的辉煌...

Android驱动开发与移植实战详解ch01
第第 11 章章 迅迅猛猛发发展展的的 AAnnddrrooiidd 系系统统 Android(安卓)是 IT 巨头谷歌公司推出的一款手机系统,是建立在 Linux 内核基础之上的, 能够迅速建立手机软件的解决 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 。Android 的功能十分强大,作为一个新兴的热点,已经成为了 软件行业中的一股新兴力量。据市场数据统计,Android 系统已经成为当今市场占有率第一位的智 能手机系统。本章将简单介绍 Android 的发展历程和背景,让读者了解 Android 的辉煌之路。 1.1 智能手机世界 智能手机是指具有像个人电脑那样独立的操作系统,用户可以在上面安装自己需要的第三方软 件或游戏程序,并且可以通过移动通信网络接入无线网络。在 Android 系统诞生之前已经有很多优 秀的智能手机产品,例如家喻户晓的 Symbian(塞班)系列和微软的 Windows Mobile 系列等。 1.1.1 何谓智能手机 当今公认的智能手机必须具备下面的功能 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 : (1)操作系统必须支持新应用的安装; (2)高速度处理芯片; (3)支持播放式的手机电视; (4)大存储芯片和存储扩展能力; (5)支持 GPS 导航。 后来手机联盟制定了一个标准,在该标准中列出了智能手机的如下主要特点: (1)具备普通手机的全部功能,例如可以进行正常的通话和发短信等手机应用; (2)是一个开放性的操作系统,在系统平台上可以安装更多的应用程序,从而实现功能的无限扩充; (3)具备上网功能; (4)具备 PDA 的功能,实现个人信息管理、日程记事、任务安排、多媒体应用、浏览网页; (5)可以根据个人需要扩展机器的功能; (6)扩展性能强,并且可以支持很多第三方软件。 1.1.2 当前主流智能手机系统 当今最主流的智能手机系统有微软的 Windows Phone 系列、塞班系列、PDA、黑莓、苹果的 iOS Android驱动开发与移植实战详解 2 和本书的主角 Android。 1.微软的 Windows Mobile Windows Mobile 是微软公司的一款杰出产品,Windows Mobile 将熟悉的 Windows 桌面扩展到 了个人设备中。使用 Windows Mobile 操作系统的设备主要有 PPC 手机、PDA、随身音乐播放器等。 Windows Mobile 操作系统有三种,分别是 Windows Mobile Standard、Windows Mobile Professional、 Windows Mobile Classic。当前的最新版本是 Windows Phone 7,Windows Phone 8 也即将发布。 2.塞班系统 塞班系统 Symbian 是一款久负盛名的手机系统,最初是由诺基亚、索尼爱立信、摩托罗拉、西 门子等几家大型移动通信设备商共同出资组建的一个合资公司,职责是专门研发手机操作系统。 Symbian 有着良好的界面,采用内核与界面分离技术,对硬件的要求比较低,支持 C++、Visual Basic 和 J2ME。目前根据人机界面的不同,Symbian 体系的 UI(User Interface,用户界面)平台分为 Series60、Series80、Series90、UIQ 等。其中 Series60 主要是给数字键盘手机用,Series80 是为完整 键盘所 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 ,Series90 则是为触控笔方式而设计。 2010 年 9 月,诺基亚宣布将从 2011 年 4 月起从 Symbian 基金会(Symbian Foundation)手中 收回 Symbian 操作系统控制权。 3.Palm Palm 是流行的个人数字助理(PDA,又称掌上电脑)的传统名字。从广义上讲,Palm 是 PDA 的一种,是 Palm 公司发明的。而从狭义上讲,Palm 是 Palm 公司生产的 PDA 产品,区别于 SONY 公司的 Clie 和 Handspring 公司的 Visor/Treo 等其他运行 Palm 操作系统的 PDA 产品。其显著特点 之一是写入装置输入数据的方法,能够点击显示器上的图标选择输入的项目。2009 年 2 月 11 日, Palm 公司 CEO Ed Colligan 宣布以后将专注于 WebOS 和 Windows Mobile 的智能设备,而将不会再 有基于“Palm OS”的智能设备推出,除了 Palm Centro 会在以后和其他运营商合作时继续推出。 4.黑莓 BlackBerry BlackBerry 是加拿大 RIM 公司推出的一种移动电子邮件系统终端,其特色是支持推动式电子邮 件、手提电话、文字短信、互联网传真、网页浏览及其他无线资讯服务,其最大优势在于收发邮件。 5.iOS iOS 是苹果手机产品 iPhone 的操作系统,iPhone 是一款手机产品,由苹果公司在 2007 年 1 月 9 日举行的 Macworld 宣布推出,并在 2007 年 6 月 29 日在美国上市。IPhone 实现了将创新的移动 电话、可触摸宽屏 iPod 以及具有桌面级电子邮件、网页浏览、搜索和地图功能的突破性因特网通 信设备这三种产品完美地融为一体。每一件 iPhone 产品都是一件艺术品,无论是外观还是品质和 性能,都拥有超高的人气。推出的每一款新 iPhone,都马上成为市面智能手机的标杆。在 2011 年 10 月 4 日推出了当前最新的 iPhone 4S。 第 1章 迅猛发展的 Android系统 3 6.Android Android 是本书的主角,是一款基于 Linux 内核的开源手机操作系统的名称,该平台由操作系 统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。 1.2 Android的自身优势 Android 采用了 WebKit 浏览器引擎,具备触摸屏、高级图形显示和上网功能,用户能够在手 机上查看电子邮件、搜索网址和观看视频节目等,同时 Android 还具有比 iPhone 等其他手机更强 的搜索功能,可以说是一种融入全部 Web 应用的平台。正是因为其特有的巨大优势,在 2010 年下 半年,Android 规模便超越了苹果 iPhone,大有一统手机系统之势!并且终于在 2011 年超越了塞班, 成为市场占有率最高的智能手机系统。 1.2.1 开源 Android 出身于 Linux 世家,是一款开源的手机操作系统。Android 功成名就之后,各大手机联 盟纷纷加入,这个联盟由包括中国移动、摩托罗拉、高通、宏达电子和 T-Mobile 在内的 30 多家 技术和无线应用的领军企业组成。通过与运营商、设备制造商、开发商和其他有关各方结成深层次 的合作伙伴关系,希望借助建立标准化、开放式的移动电话软件平台,在移动产业内形成一个开放 式的生态系统。 1.2.2 强大的开发团队支持 Android 的研发队伍阵容强大,包括摩托罗拉、Google、HTC(宏达电子)、PHILIPS、T-Mobile、 高通、魅族、三星、LG 以及中国移动在内的 34 家企业。它们都将基于该平台开发手机的新型业务, 应用之间的通用性和互联性将在最大程度上得到保持。并且还成立了手机开放联盟,联盟中的成员 由手机制造商、半导体公司和软件公司组成,具体名单如下。 1.手机制造商 台湾宏达国际电子(HTC)(Palm 等多款智能手机的代工厂),摩托罗拉(美国最大的手机制 造商),韩国三星电子(仅次于诺基亚的全球第二大手机制造商),韩国 LG 电子,中国移动(全球 最大的移动运营商),日本 KDDI(2900 万用户),日本 NTT DoCoMo(5200 万用户),美国 Sprint Nextel(美国第三大移动运营商,5400 万用户),意大利电信(Telecom Italia,意大利主要的移动 运营商,3400 万用户),西班牙 Telefónica (在欧洲和拉美有 1.5 亿用户),T-Mobile(德意志电信 旗下公司,在美国和欧洲有 1.1 亿用户)。 2.半导体公司 Audience Corp(声音处理器公司),Broadcom Corp(无线半导体主要提供商),英特尔(Intel), Marvell Technology Group,Nvidia (图形处理器公司),SiRF(GPS 技术提供商),Synaptics(手 Android驱动开发与移植实战详解 4 机用户界面技术),德州仪器(Texas Instruments),高通(Qualcomm),惠普 HP(Hewlett-Packard Development Company,L.P)。 3.软件公司 Aplix,Ascender,eBay 的 Skype,Esmertec,Living Image,NMS Communications,Noser Engineering AG,Nuance Communications,PacketVideo,SkyPop,Sonix Network,TAT-The Astonishing Tribe,Wind River Systems。 1.2.3 实行奖励机制 安卓(Android)为了提高程序员的开发积极性,不但为其提供了一流硬件的设置,还提供了一 流的软件服务。并且采取了振奋人心的奖励机制,定期召开比赛,创意和应用夺魁者将会得到重奖。 1.开发 Android 平台的应用 在 Android 平台上,程序员可以开发出各式各样的应用。其中 Android 应用项目是通过 Java 语言开发的,只要具备 Java 开发基础,就能很快地上手并掌握。作为单独的 Android 开发,Java 编程门槛并不高,即使没有编程经验的门外汉,也可以在突击学习 Java 之后而学会 Android。另外, Android 完全支持 2D、3D 和数据库,并且和浏览器实现了集成。所以通过 Android 平台,程序员 可以迅速、高效地开发出绚丽多彩的应用,例如常见的工具、管理、互联网和游戏等。 2.奖金丰厚的 Android 大赛 为了吸引更多的用户使用 Android 开发,已经成功举办了奖金为 1000 万美元的开发者竞赛。 鼓励开发人员创建出有创意的实用软件。这种大赛对于开发人员来说,不但能练习自己的开发水平, 并且有机会获得高额的奖金。 3.在 Android Market 上获取收益 Android Market 地址是 http://www.Android.com/market/。为了能让 Android 平台吸引更多的关 注,谷歌开发了自己的 Android 软件下载店 Android Market,允许开发人员将应用程序在上面发布, 也允许 Android 用户随意下载获取自己喜欢的程序。开发者需要申请开发者账号,有账号后才能将 自己开发的作品上传到 Android Market,并且可以对自己的软件进行定价。只要开发的软件作品足 够吸引人,就可以获得好的金钱回报。 1.3 认识驱动 驱动是硬件和软件之间的媒介和载体,是计算机等电子产品运行的根本。生活中总会遇到这样 的场景:买了一个新 USB 鼠标,插在电脑上后会提示安装新的驱动;买了一台新的打印机,也需 要安装驱动后才能使用。驱动含有推动和发动之意,计算机领域中的驱动也含有推动之意。 当我们在电脑中安装新硬件时,总会被要求放入“这种硬件的驱动程序”。其实在 Windows 系 第 1章 迅猛发展的 Android系统 5 统中,在安装主板、光驱、显卡、声卡这些硬件产品时都对应着一套完整的驱动程序。如果需要外 接别的硬件设备,也还需要安装相应的驱动程序,例如外接游戏硬件要安装手柄、方向盘、摇杆、 跳舞毯等的驱动程序,外接打印机要安装打印机驱动程序,上网或接入局域网要安装网卡、Modem 甚至 ISDN、ADSL 的驱动程序。 和 Windows 系统一样,在 Android 手机中也经常需要使用一些外部硬件设备,例如蓝牙耳机、 存储卡和摄像头。要想使用这些外部辅助设备,也需要安装对应的驱动程序。驱动程序是添加到操 作系统中的一段代码,通常这段代码比较简短,但是在里面包含了和硬件相关的设备信息。有了这 些信息,计算机就可以与设备进行通信,从而使用这些硬件。驱动程序是硬件厂商根据操作系统编 写的配置文件,可以说没有驱动程序,计算机中的硬件就无法工作。操作系统不同,对应的硬件驱 动程序也不同。硬件厂商为了保证硬件的兼容性及增强硬件的功能,会不断更新、升级驱动程序, 例如显卡芯片公司 Nvidia 平均每个月会升级驱动程序 2 到 3 次。 驱动程序是硬件的一个构成部分,当我们安装新的硬件时,也必须安装对应的驱动程序。凡是 安装一个原本不属于我们电脑中或手机中的硬件设备时,系统就会要求你安装驱动程序,将新的硬 件与电脑或手机系统连接起来。驱动程序在此扮演了一个沟通的角色,负责把硬件的功能告诉电脑 系统,并且也将系统的指令传达给硬件,让它开始工作。 手机中的驱动和电脑中的驱动一样,当在手机中使用数据线、蓝牙、红外等连接方式连接电脑 时,在一般情况下需要驱动程序。而且在一部分手机中,通过数据线、蓝牙、红外方式连接电脑后 还需要软件才能传输数据到电脑,或者传输数据到手机。此时可以使用购买手机时的随机光盘中的 驱动程序解决问题,驱动程序也可以在手机网站或论坛上下载。 1.4 分析 定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析 Android架构 Android 作为一个移动设备的平台,其软件层次结构包括操作系统(OS)、中间件(MiddleWare) 和应用程序(Application)。根据 Android 的软件框图,其软件层次结构自下而上分为以下 4 层。 (1)操作系统层(OS)。 (2)各种库(Library)和 Android 运行环境(RunTime)。 (3)应用程序框架(Application Framework)。 (4)应用程序(Application)。 上述各个层的具体结构如图 1-1 所示。 1.4.1 操作系统层(OS) Android 使用 Linux2.6 作为操作系统,Linux2.6 是一种标准的技术,Linux 也是一个开放的操 作系统。Android 对操作系统的使用包括核心和驱动程序两部分,Android 的 Linux 核心为标准的 Linux2.6 内核,Android 更多的是需要一些与移动设备相关的驱动程序。主要的驱动如下所示。 y 显示驱动(Display Driver):常用基于 Linux 的帧缓冲(Frame Buffer)驱动。 y Flash 内存驱动(Flash Memory Driver):是基于 MTD 的 Flash 驱动程序。 y 照相机驱动(Camera Driver):常用基于 Linux 的 v4l(Video for Linux )驱动。 Android驱动开发与移植实战详解 6 y 音频驱动(Audio Driver):常用基于 ALSA(Advanced Linux Sound Architecture,高级 Linux 声音体系)驱动。 主屏幕 联系人 电话 浏览器 …… 应用程序 活动管理器 窗口管理器 内容提供器 视图系统 通知管理器 包管理器 本地管理器电话管理器 资源管理器 XMPP服务 应用程序 框架 接口管理器 包管理器 包管理器 包管理器 位图及矢量 浏览器引擎 2D图形引 擎 中间 协议 离婚协议模板下载合伙人协议 下载渠道分销协议免费下载敬业协议下载授课协议下载 libc函数库 库 持久层库 Dalvik虚拟 机器 Android 运行 环境 显示驱动 相机驱动 蓝牙驱动 Flash内存驱动 Binder IPC 驱动 USB驱动 键盘驱动 WiFi驱动 音频驱动 能源管理 Linux 内核层 ▲图 1-1 Android 操作系统的组件结构图 y WiFi 驱动(Camera Driver):基于 IEEE 801.31 标准的驱动程序。 y 键盘驱动(KeyBoard Driver):作为输入设备的键盘驱动。 y 蓝牙驱动(Bluetooth Driver):基于 IEEE 801.35.1 标准的无线传输技术。 y Binder IPC 驱动:Android 一个特殊的驱动程序,具有单独的设备节点,提供进程间通信的 功能。 y Power Management(能源管理):管理电池电量等信息。 1.4.2 各种库和 Android 运行环境 本层次对应一般嵌入式系统,相当于中间件层次。Android 的本层次分成两个部分,一个是各 种库(Library),另一个是 Android 运行环境(RunTime)。本层的内容大多是使用 C++实现的。其 中包含的各种库如下。 y C 库:C 语言的标准库,也是系统中一个最为底层的库,C 库是通过 Linux 的系统调用来实 现的。 第 1章 迅猛发展的 Android系统 7 y 多媒体框架(Media Framework):这部分内容是 Android 多媒体的核心部分,基于 PacketVideo(即 PV)的 OpenCORE,从功能上本库一共分为两大部分,一部分是音频、视频的回 放(PlayBack),另一部分则是音视频的纪录(Recorder)。 y SGL:2D 图像引擎。 y SSL:即 Secure Socket Layer,位于 TCP/IP 协议与各种应用层协议之间,为数据通信提供 安全支持。 y OpenGL ES 1.0:提供了对 3D 的支持。 y 界面管理工具(Surface Management):提供了对管理显示子系统等功能。 y SQLite:一个通用的嵌入式数据库。 y WebKit:网络浏览器的核心。 y FreeType:位图和矢量字体的功能。 Android 的各种库一般是以系统中间件的形式提供的,它们均有的一个显著特点就是与移动设 备的平台的应用密切相关。 Android 运行环境主要是指虚拟机技术——Dalvik。Dalvik 虚拟机和一般 JAVA 虚拟机(Java VM)不同,它执行的不是 JAVA 标准的字节码(Bytecode),而是 Dalvik 可执行格式(.dex)中执 行文件。在执行的过程中,每一个应用程序即一个进程(Linux 的一个 Process)。二者最大的区别 在于 Java VM 是基于栈的虚拟机(Stack-based),而 Dalvik 是基于寄存器的虚拟机(Register-based)。 显然,后者最大的好处在于可以根据硬件实现更大的优化,这更适合移动设备的特点。 1.4.3 应用程序 Android 的应用程序(Application)主要是用户界面(User Interface)方面的,通常以 Java 程 序编写,其中还可以包含各种资源文件(放置在 res 目录中)。Java 程序及相关资源经过编译后, 将生成一个 APK 包。Android 本身提供了主屏幕(Home)、联系人(Contact)、电话(Phone)、浏 览器(Brower)等众多的核心应用。同时应用程序的开发者还可以使用应用程序框架层的 API 实 现自己的程序。这也是 Android 开源的巨大潜力的体现。 1.4.4 应用程序框架 Android 的应用程序框架(Application Framework)为应用程序层的开发者提供 API,它实际上 是一个应用程序的框架。由于上层的应用程序是以 Java 构建的,因此本层次提供的首先包含了 UI 程序中所需要的各种控件,例如 View(视图组件),其中又包括了 List(列表)、Grid(栅格)、Text Box(文本框)、Button(按钮)等,甚至一个嵌入式的 Web 浏览器。 一个基本的 Andoid 应用程序,可以使用应用程序框架中的如下部分。 y Activity(活动)。 y Broadcast Intent Receiver(广播意图接收者)。 y Service(服务)。 y Content Provider(内容提供者)。 y Intent and Intent Filter(意图和意图过滤器)。 Android驱动开发与移植实战详解 8 1.5 开源的问题 我们都知道 Android 是基于 Linux 内核的,因为一直以来 Linux 是开源的,所以基于 Linux 内 核的 Android 也号称开源,所以一经推出后就受到了广大程序员和手机厂商的青睐。但是在开源方 面 Android“半遮半掩”,具体原因得从 Android 的发展历史谈起。 1.5.1 雾里看花的开源 在 Android 刚被推出的时候,只能用 Java 语言开发应用程序,这就需要所有的应用程序都运 行在一个巨大的虚拟机上。在 2009 年 6 月,Android 发布了 NDK 工具包,这样就可以支持 C/C++ 语言编程,但是性能不如 SKD 工具包中的 Java 语言。 2010 年 2 月,Linux Kernel 的维护者 Greg Kroah-Hartman 宣布,将 Android 代码从 Linux Kernel 代码库中删除,此事对于普通用户可能并没有什么影响,但对于开发者,尤其是开源社区的开发者 来说,算是一颗重磅炸弹。消息公布以后,外界普遍觉得惊讶和可惜。好不容易,才有了一个这么 受欢迎的开源手机系统,应该齐心协力共同开发才对,为什么要“窝里斗”呢?到底是什么矛盾, 使得 Linux Kernel 小组剔除 Android 代码呢? 从 Linux 2.6.33 版本开始,Google 智能手机操作系统 Android 核心代码全部被删除。这是因为 提倡开源的 Android 在 Linux 面前使用了雾里看花的把戏,它修改了 Kernel 内核,但是又不提供修 改的细节,这相当于自己搞了一个封闭的系统。尽管 Android 取得了空前的成功,但是 Google 也 放弃了构建一个真正开源的手机系统的机会,从而也就不能获得由全世界程序员提供智慧、分享代 码和推动创新的好处。由此可见,是因为 Android 的不真正开源,所以才被从 Linux 体系中删除。 Android 与 Ubuntu、Debian、Redhat 等传统的 Linux 发行版相比,只有系统的底层结构是一样 的,而其他东西在 Android 中都不一样,尤其是程序员的编程接口是完全不同的。所以必须重新写 Android 应用程序后才能使用,现存的 Linux 程序无法移植上去。由此可见,Android 是一种全新 的系统,它与 Linux 的距离有很远。 1.5.2 从选择 Java 开始谈为什么不开源驱动程序 (1)使用 Java 的好处。 Android 很好地解决了长期令手机制造商头痛不已的问题:在业界缺乏一个开源的 Java 虚拟机 和统一的应用程序接口。使用 Android 后,程序员只要编写一次程序就可以用在各种手机硬件平台 之上。这就是 Android 应用程序使用 Java 语言开发的原因,因为如果不这样做的话,无法让程序 实现和硬件无关。 可能很多熟知 Linux 的读者会反问:传统的 Linux 系统也不依赖特定的硬件,只要把源代码根 据不同的平台分别编译,同一个程序就可以在不同的硬件架构、不同的 Linux 发行版中使用。那么 Android 只采用 Kernel、只允许用 Java 编程的真正原因到底是什么呢? (2)为什么驱动不开源。 Linux Kernel 的版权是 GPL。在此版本下,硬件厂商都希望自己的硬件能在 Linux Kernel 下 第 1章 迅猛发展的 Android系统 9 运行,此时就必须使用驱动程序。但是如果把驱动程序的源码公开,就等于公开硬件规格,这是广 大硬件厂商所不能接受的。所以硬件厂商只提供编好的驱动程序,而不提供原始码。 Android 的重点是商业应用,为了解决上述驱动开源的问题,Google 采用了自己的方法来绕过 这个问题。Google 把驱动程序移到 “userspace”中,即让驱动程序在 Linux Kernel 上面运行,而 不是一起运行,这样就可以避过 GPL 规则。然后在 Kernel 开一个小门,让本来不能直接控制到硬 件的 “userspace” 程序也可以碰得到,此时只需公布这个开的“小门”程序源码即可。由此可见, Google 在 Kernel 和应用程序之间设计了一个中间层,这样既不违反 GPL 许可,又能不让外界看到 厂商的硬件驱动和应用程序的源码。 (3)带来的问题。 但是 Google 的上述做法随之带来了一个问题,Kernel 和 Android 采取不同的许可证,Kernel 采用 GPL 许可证,而 Android 采用 Apache Software License(简称 ASL)许可证。在 GPL 许可证 中规定,对源码的任何修改都必须开源,所以 Android 需要开源,因为它修改了 Kernel。而在 ASL 许可证中规定,用户可以随意使用源码而不必开源,所以建立在 Android 之上的硬件驱动和应用程 序都可以保持封闭。这种封闭得到了更多硬件厂商的支持,Google 特意修改了 Kernel,使得原本 应该包括在 Kernel 中的某些功能都被转移到了“userspace”中,所以就避开了开源。 (4)影响。 Google 的上述行为有利于推广 Android,并且可以吸引更多厂商和软件开发商的加入,但是同 时也宣布放弃了构建一个真正开源的手机系统的机会。所有为 Android 写的硬件驱动都不能合并到 Kernel 中,因为它们只在 Google 的代码里才有效,而在 Kernel 里根本没法用。 1.5.3 对驱动开发者的影响 所有为 Android 写的硬件驱动都不能合并到 Kernel 中。这些驱动程序只能在 Google 代码中有 效,而在 Kernel 中根本没法用。正是因为这个原因,Google 从不把大量的硬件驱动程序和平台源 码提交给 Kernel。 既然硬件厂商都不开源驱动代码,对于我们生存在 Android 底层的开发人员,特别是从事驱动 开发的成员来说,就带来了巨大的就业机会。我们可以为硬件厂商开发不开源的驱动程序而获得报 酬,为此随着 Android 的异常火爆,市面上有很多企业在招聘 Android 驱动开发人员。由此可见, 驱动的不开源给我们的学习带来了难题,但同样也为以后的就业机会增加了砝码。
本文档为【Android驱动开发与移植实战详解ch01】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_072035
暂无简介~
格式:pdf
大小:728KB
软件:PDF阅读器
页数:0
分类:互联网
上传时间:2013-09-22
浏览量:18