您好,欢迎来到聚文网。 登录 免费注册
Android底层开发实战

Android底层开发实战

  • 装帧: 平装
  • 出版社: 机械工业出版社
  • 作者: 周庆国 等 编著
  • 出版日期: 2015-10-01
  • 商品条码: 9787111516118
  • 版次: 1
  • 开本: 16开
  • 页数: 243
  • 出版年份: 2015
定价:¥59 销售价:登录后查看价格  ¥{{selectedSku?.salePrice}} 
库存: {{selectedSku?.stock}} 库存充足
{{item.title}}:
{{its.name}}
精选
内容简介
周庆国、郑灵翔、康筱彬、刘同山编著的《Android底层开发实战》主要面向对Android设备驱动开发有浓厚兴趣的人员,无论是具有一定经验的开发人员还是初学者,都能根据本书所提供的案例进行学习。
书中介绍了嵌入式系统的定义、Linux系统和Android开发环境搭建等基础知识;分析了Android系统底层源码和内核结构,介绍了init、Zygote、Binder、Ashmem、Low Memory Killer和Logger等横块;剖析了系统开发工具Dalvik、JNI、B00t Loader的原理和工作方式;对驱动程序设计中NDK的编程方法以及HAL层的调用进行了详细阐述。并通过Camera与WiFi驱动的实现进行进一步的说明。书中理论部分的介绍旨在呈现一个清晰的开发索引,同时,也有利于读者后续进行深度开发。
本书一大特色是具有针对不同架构的实例,涵盖了当前较流行的ZedBoard、pcDuino、BeagleBoard三类开发板。通过对三类开发板实施系统移植、驱动设计、内核跟踪预测3个项目,使得读者对书中所涉及的所有知识都能有更加深入的了解和应用。
作者简介
周庆国,兰州大学教授。理学博士,博士生导师,IET Fellow,教育部新世纪人才基金获得者,现为兰州大学开源软件与实时系统教育部工程研究中心副主任,兰州大学分布式与嵌入式系统实验室主任。
目录
推荐序
自序
前言
第1章Android嵌入式系统导论1
1.1Android嵌入式系统概述1
1.1.1嵌入式系统定义1
1.1.2基于Android的嵌入式系统构成5
1.1.3移动电话系统9
1.1.4基于ARM的移动电话硬件结构10
1.2嵌入式系统实例17
1.2.1pcDuino部分硬件功能介绍17
1.2.2基于Android的嵌入式系统30
第2章Linux系统详解34
2.1系统简介34
2.2基础命令35
2.2.1cd和ls命令35
2.2.2touch和mkdir命令37
2.2.3rm和rmdir命令38
2.2.4cp和mv命令38
2.2.5find和awk命令39
2.2.6vim编辑器的使用43
2.3BashShell44
2.3.1BashShell简介44
2.3.2BashShell脚本简介44
2.4Linux源码与Android源码介绍45
2.4.1Linux源码简介45
2.4.2Android源码简介45
第3章Android系统开发环境搭建47
3.1编译前奏-Android上的开发工作47
3.1.1Android的移植开发47
3.1.2系统开发48
3.1.3应用开发49
3.2Android的系统架构49
3.2.1软件结构49
3.2.2源代码的结构51
3.3搭建开发环境54
3.3.1搭建编译环境54
3.3.2使用repo64
3.3.3Android的编译66
第4章Android系统底层源码结构分析69
4.1源码结构分析69
4.1.1底层库结构介绍71
4.1.2C基础函数库bionic73
4.1.3C语言底层库libcutils74
4.1.4C++工具库libutils74
4.1.5底层文件系统库system75
4.1.6增加本地库的方法76
4.2Android编译系统介绍78
4.2.1build系统78
4.2.2SDK79
4.3init初始化脚本语言介绍82
4.3.1概述82
4.3.2init进程源码分析82
4.3.3脚本文件的创建与分析85
4.3.4创建设备节点文件89
4.3.5子进程的创建与终止92
4.3.6属性服务93
4.4Zygote95
4.4.1Zygote概述95
4.4.2AppRuntime分析95
4.4.3system_server分析100
第5章Android系统内核分析109
5.1Linux内核基础109
5.1.1概述109
5.1.2Linux内核的主要子系统110
5.1.3Linux启动过程分析111
5.2Android内核概况112
5.3Android启动过程分析113
5.4Binder框架分析115
5.4.1概述116
5.4.2Binder的系统架构117
5.4.3Binder的机制和原理125
5.5Ashmem内存管理方式128
5.5.1概述128
5.5.2Ashmem初始化128
5.5.3内存的创建和释放131
5.5.4内存的映射135
5.5.5内存的锁定和解锁137
5.6低内存管理139
5.7Logger145
5.7.1Logger概述145
5.7.2Logger实现原理146
第6章Android系统相关工具及运行环境156
6.1Android开发工具分类及介绍156
6.1.1应用程序开发工具156
6.1.2框架开发工具157
6.1.3交叉编译工具159
6.1.4内核开发工具159
6.2Dalvik虚拟机160
6.2.1概述160
6.2.2dex文件163
6.2.3Dalvik内存管理165
6.2.4Dalvik编译器169
6.3JNI171
6.3.1概述171
6.3.2JNI的架构171
6.3.3JNI的实现方式172
6.4BootLoader173
6.4.1概述173
6.4.2BootLoader的操作模式174
6.4.3启动过程175
6.5busybox的使用176
第7章Android驱动程序设计177
7.1Android驱动概述177
7.2AndroidNDK编程178
7.3Android系统中的HAL层183
7.3.1HAL_legacy和HAL对比184
7.3.2HALmodule架构分析184
7.3.3HAL实现流程186
7.4Android系统Camera与WiFi实现187
7.4.1Android中的Camera实现187
7.4.2Android系统WiFi实现190
第8章Android底层开发实例讲解193
8.1底层开发相关技术概览193
8.2实例讲解-基于Zynq的Android移植193
8.2.1主机开发环境的搭建194
8.2.2Linux内核的编译194
8.2.3Android文件系统的编译203
8.2.4SD卡的准备以及Android系统的启动205
8.3移植讲解-基于pcDuino的Android移植205
8.3.1pcDuino介绍206
8.3.2环境搭建208
8.3.3编译内核209
8.3.4编译Android210
8.3.5烧录镜像211
8.4AndroidLED驱动设计212
8.4.1硬件原理212
8.4.2Linux驱动设计212
8.4.3AndroidHAL层驱动220
8.4.4硬件服务层224
8.4.5App应用编写229
8.5进阶讲解-针对Android系统的内核跟踪与测试231
8.5.1使用平台简介231
8.5.2测试环境的建立232
8.5.3测试工具235
8.5.4Android内核调试与性能测试239
摘要
前    言
自第一款搭载Android系统的智能手机HTC G1发布至今已近6年,凭借日益完善与强大的功能、完全开放的内核源码以及Google公司在网络应用领域的无缝支持,Android系统从初出茅庐的行业新锐,已经成长壮大为手持设备智能化产业的推动者和市场的领导者,这一点已经毋庸置疑。
不可否认,众多独立软件开发者与商业软件公司的加入使Android系统不仅仅作为终端产品,还作为开发平台深入到各行业的技术开发中,包括学校、公司,乃至开发人员的工作、生活的各方面,这是Android系统旺盛生命力的表现,同时也是Android系统持续发展壮大的保障。近期,支持Android系统的开发板如Zynq、pcDuino等在功能不断完善的前提下成本也在大幅下降,助力了Android的推广与拓展;可穿戴设备以及嵌入式芯片的应用又将为Android系统及其软硬件开发提供新的发展机遇。接触Android领域、使用Android产品、学习Android系统,现在已经成为计算机软件、电子、自动化控制及相关专业的学生和已经参加工作的软硬件工程师的首选。
但是目前市场上同类的Android相关书籍中,多是介绍基于Android SDK的单纯应用程序(APP)的开发,且种类繁杂,对于Android的底层源码与系统内核的分析、驱动程序设计与存储优化、平台移植与内核测试等较为深入的内容则甚少涉及。为了对这些底层领域相关知识稍作弥补,作者编写了本书。
本书而用浅显易懂的语言向广大Android爱好者和开发人员讲解Android系统下嵌入式开发板的设计。
全书共8章,前3章为预备知识,简要介绍嵌入式系统的定义与软硬件开发以及Android开发环境的搭建。这一部分为基础知识,有一定Linux基础和Android开发经验的读者可以选读。
第4~6章为系统结构,主要介绍Android系统的源码结构、内核与相关工具以及环境库。内容包括:Android源码结构、init初始化脚本、Zygote、Android系统编译;Android内核启动、Binder框架、Ashmem内存管理、系统日志Logger实现;Android开发工具、Dalvik虚拟机、JNI、Boot Loader。
第7章为驱动设计,主要介绍Android系统中常用外接设备的驱动架构以及实现。内容包括NDK编程、Android中HAL模型架构与实现流程。作为教学实例,最后还分析了Android系统中的Camera与WiFi两个功能部件的驱动设计。
第8章为实例分析,介绍具体开发板硬件结构的编程原理以及系统级的实例。在简要介绍系统底层开发流程的基础上,首先分析主流的Zynq和pcDuino平台上开发环境的搭建、Linux内核以及Android系统的编译、下载;然后结合前文学习过的知识点,从零开始设计LED显示系统的Linux内核驱动、Android HAL支持和服务层设计、顶层App的实现;作为进阶部分,最后介绍了对Android内核进行跟踪调试与性能测试的工具软件、工作流程以及结果分析。
致谢
在此要特别感谢华章公司的策划编辑张国强,是他对Android和嵌入式系统开发的关注促成了本书的出版。笔者在撰写书稿时,他也对本书提出了宝贵的写作建议,并进行了仔细的审阅。
本书的编写同样离不开许多朋友的支持,在此特别感谢兰州大学信息科学与工程学院的陈华明的大力协助,这本书的出版离不开他的贡献。
还要感谢兰州大学的高博、郭守超、王小强和朱芳芳,感谢他们在本书编写过程中所给予的帮助与建议。

蜀ICP备2024047804号

Copyright 版权所有 © jvwen.com 聚文网