[友情广告]早教+小中初+高中+大学 资源汇总[广告]--套图街VIP账号 男士宝库网共享--
查看: 14052|回复: 66

Android内核剖析 附书签完整版 626页PDF格式

  [复制链接]
  • TA的每日心情
    无聊
    2023-12-29 00:06
  • 签到天数: 2604 天

    连续签到: 172 天

    [LV.Master]伴坛终老

    注册时间
    2012-9-3
    最后登录
    2024-4-29

    1万

    主题

    1万

    帖子

    14万

    积分

    管理员

    2012年到2024年,感谢各位会员朋友的支持!

    Rank: 62Rank: 62Rank: 62Rank: 62Rank: 62Rank: 62Rank: 62Rank: 62Rank: 62Rank: 62Rank: 62Rank: 62Rank: 62Rank: 62Rank: 62Rank: 62

    推广达人宣传达人突出贡献优秀版主荣誉管理论坛元老vip会员

    QQ
    发表于 2015-7-29 03:30:35 | 显示全部楼层 |阅读模式
    1.jpg

    Android内核剖析 PDF完整版

    内容简介
     《android内核剖析》详细分析了android内核的内部机制,包括窗口管理系统、activity管理系统、输入法框架、编译系统等,为android内核定制及高级应用程序开发提供技术参考。

    目录
    《android内核剖析》
    第1部分 基础篇
    第1章 linux基础 2
    1.1 linux文件系统概述 2
    1.2 linux启动过程 4
    1.3 常用linux 命令 6
    1.4 shell脚本备忘 9
    1.4.1 获取输入 10
    1.4.2 变量定义 10
    1.4.3 条件判断 11
    1.4.4 while []...do... done语句 12
    1.4.5 for循环 13
    1.4.6 函数 14
    1.4.7 常用内置符号常量 15
    1.5 make脚本备忘 15
    1.5.1 一个简单的makefile文件 16
    1.5.2 变量的定义与赋值 18
    1.5.3 条件控制语句 18
    1.5.4 宏(函数)定义 19
    1.5.5 内置符号和变量 22

    .1.5.6 模板目标(pattern target) 23
    1.5.7 目标特定的变量赋值(target-specific variable) 24
    1.5.8 常用选项 25
    第2章 java基础 26
    2.1 类装载器dexclassloader 26
    2.1.1 dexclassloader的调用方法 27
    2.1.2 基于类装载器设计一种“插件”架构 29
    2.2 jni调用机制 32
    2.2.1 java访问c 33
    2.2.2 c访问java 35
    2.2.3 在c中使用持久对象 37
    2.3 异步消息处理线程 37
    2.3.1 实现异步线程的一般思路 38
    2.3.2 android中异步线程的实现方法 38
    第3章 android源码下载及开发环境配置 44
    3.1 mac系统的配置 44
    3.1.1 硬盘格式的配置 44
    3.1.2 port的用法 46
    3.2 在linux中配置usb连接 46
    3.3 在eclipse中调试framework 46
    3.3.1 一段防止下载异常的脚本 47
    3.3.2 调试framework中的代码 47
    第4章 使用git 51
    4.1 安装git 52
    4.2 git仓库管理 52
    4.2.1 仓库的组成 52
    4.2.2 创建仓库 54
    4.2.3 分支管理 55
    4.3 git merge用法 57
    4.4 git rebase用法 58
    4.5 git cherry-pick用法 61
    4.6 git reset用法 62
    4.7 恢复到无引用提交 63
    4.8 git remote用法 65
    4.9 git 配置 67
    4.9.1 基本信息配置 68
    4.9.2 merge、diff工具配置 68
    4.9.3 .gitignore配置 70
    4.10 同时使用git和svn 71
    4.11 其他git常用命令示例 72
    4.11.1 git branch 72
    4.11.2 git checkout 72
    4.11.3 git log 73
    4.11.4 git commit --amend 73
    4.11.5 git cherry-pick sha-1 73
    4.11.6 git merge-base 74
    4.11.7 git diff master…dev 74
    4.11.8 git revert 75
    4.11.9 git diff 75
    4.11.10 git rm 75
    4.11.11 git tag 76
    第2部分 内核篇
    第5章 binder 78
    5.1 binder框架 78
    5.2 设计servier端 80
    5.3 binder客户端设计 81
    5.4 使用service类 82
    5.4.1 获取binder对象 82
    5.4.2 保证包裹内参数顺序aidl工具的使用 83
    5.5 系统服务中的binder对象 88
    5.5.1 servicemanager管理的服务 88
    5.5.2 理解manager 90
    第6章 framework概述 92
    6.1 framework框架 92
    6.1.1 服务端 92
    6.1.2 客户端 93
    6.1.3 linux驱动 94
    6.2 apk程序的运行过程 94
    6.3 客户端中的线程 94
    6.4 几个常见问题 95
    6.4.1 acitivity之间如何传递消息(数据) 95
    6.4.2 窗口相关的概念 96
    第7章 理解context 98
    7.1 context是什么 98
    7.2 一个应用程序中包含多少个context对象 99
    7.3 context相关类的继承关系 99
    7.4 创建context 100
    7.4.1 application对应的context 101
    7.4.2 activity对应的context 102
    7.4.3 service对应的context 103
    7.4.4 context之间的关系 104
    第8章 创建窗口的过程 106
    8.1 窗口的类型 106
    8.2 token变量的含义 108
    8.2.1 activity中的mtoken 108
    8.2.2 window中的mapptoken 109
    8.2.3 windowmanager.layoutparams中的token 109
    8.2.4 view中的token 110
    8.3 创建应用窗口 111
    8.4 创建子窗口 121
    8.4.1 dialog的创建 122
    8.4.2 popupwindow的创建 126
    8.4.3 contextmenu的创建 127
    8.4.4 optionmenu的创建 132
    8.5 系统窗口toast的创建 136
    8.5.1 toast调用流程 137
    8.5.2 toast添加窗口 139
    8.6 创建窗口示例 139
    第9章 framework的启动过程 142
    9.1 framework运行环境综述 142
    9.2 dalvik虚拟机相关的可执行程序 143
    9.2.1 dalvikvm 144
    9.2.2 dvz 144
    9.2.3 app_process 145
    9.3 zygote的启动 147
    9.3.1 在init.rc中配置zygote启动参数 147
    9.3.2 启动socket服务端口 148
    9.3.3 加载preload-classes 151
    9.3.4 加载preload-resources 152
    9.3.5 使用folk启动新的进程 152
    9.4 systemserver进程的启动 155
    9.4.1 启动各种系统服务线程 156
    9.4.2 启动第一个activity 158
    第10章 ams内部原理 160
    10.1 activity调度机制 160
    10.1.1 几个重要概念 161
    10.1.2 ams中的一些重要调度相关变量 163
    10.1.3 startactivity()的流程 165
    10.1.4 stopactivitylocked()停止activity 183
    10.1.5 按“home”键回到桌面的过程 186
    10.1.6 按“back”键回到上一个activity 187
    10.1.7 长按“home”键 189
    10.1.8 activity生命期的代码含义 190
    10.2 内存管理 192
    10.2.1 关闭而不退出 192
    10.2.2 android与linux的配合 194
    10.2.3 各种关闭程序的过程 196
    10.2.4 释放内存详解 197
    10.3 对ams中数据对象的理解 211
    10.3.1 常见的对象操作 212
    10.3.2 理解activity 213
    10.3.3 android多进程吗,是同时在运行多个应用程序吗 213
    10.4 activitygroup的内部机制 214
    10.4.1 tabactivity使用时的类关系结构 215
    10.4.2 localactivitymanager的内部机制 217
    10.4.3 activitygroup内部的activity生命期控制 220
    第11章 从输入设备中获取消息 221
    11.1 android消息获取过程概述 221
    11.2 与消息处理相关的源码文件分布 223
    11.3 创建inputdispatcher线程 226
    11.4 把窗口信息传递给inputdispatcher线程 227
    11.5 创建inputchannel 229
    11.6 在wms中注册inputchannel 232
    11.7 在客户进程中注册inputchannel 233
    11.8 wms中处理消息的时机 234
    11.9 客户窗口获取消息的时机 235
    第12章 屏幕绘图基础 237
    12.1 绘制屏幕的软件架构 237
    12.2 java客户端绘制调用过程 239
    12.3 c客户端绘制过程 241
    12.4 java客户端绘制相关类的关系 244
    第13章 view工作原理 247
    13.1 导论 247
    13.2 用户消息类型 249
    13.2.1 按键消息 249
    13.2.2 触摸消息 250
    13.3 按键消息派发过程 252
    13.3.1 keyevent.dispatcherstate中的长按监测 252
    13.3.2 按键消息总体派发过程 254
    13.3.3 根视图内部派发过程 256
    13.3.4 activity内部派发过程 257
    13.3.5 view类内部的onkeydown()和onkeyup() 260
    13.3.6 activity中的onkeydown()和onkeyup() 261
    13.3.7 phonewindow内部消息派发过程 262
    13.4 按键消息在wms中的派发过程 263
    13.5 触摸消息派发过程 266
    13.5.1 触摸消息总体派发过程 266
    13.5.2 根视图内部消息派发过程 267
    13.5.3 viewgroup内部消息派发过程 268
    13.5.4 各种消息监测的基本实现方法 271
    13.5.5 view内默认消息派发过程 272
    13.6 导致view树重新遍历的时机 274
    13.6.1 状态的分类 274
    13.6.2 导致view树重新遍历的总体诱因图 275
    13.6.3 refreshdrawablelist() 276
    13.6.4 onfocusedchanged() 278
    13.6.5 ensuretouchmode() 279
    13.6.6 setvisibility() 282
    13.6.7 setenable() 284
    13.6.8 setselected() 285
    13.6.9 invalidate() 286
    13.6.10 requestfocus() 290
    13.6.11 requestlayout() 292
    13.7 遍历view树performtraversals()的执行过程 293
    13.8 计算视图大小(measure)的过程 296
    13.8.1 measure内部设计思路 297
    13.8.2 viewgroup中的measurechildwithmargins() 301
    13.8.3 linearlayout中的onmeasure()过程举例 304
    13.9 布局(layout)过程 308
    13.9.1 layout过程的设计思路 308
    13.9.2 linearlayout中onlayout()内部过程 309
    13.9.3 textview中gravity与layout的关系 311
    13.10 绘制(draw)过程 313
    13.10.1 视图中可绘制的元素 313
    13.10.2 绘制过程的设计思路 314
    13.10.3 viewroot中draw()的内部流程 315
    13.10.4 view类中draw()函数内部流程 318
    13.10.5 viewgroup类中绘制子视图dispatchdraw()内部流程 322
    13.10.6 viewgroup类中drawchild()过程 325
    13.10.7 绘制滚动条 328
    13.11 动画的绘制 331
    13.11.1 动画的设计思路 332
    13.11.2 viewgroup类中drawchild()函数中视图动画绘制过程 334
    13.11.3 viewgroup中dipsatchdraw()中布局动画绘制流程 337
    第14章 wms工作原理 340
    14.1 概述 340
    14.1.1 窗口的定义 340
    14.1.2 窗口管理要解决的核心问题 341
    14.1.3 解决核心问题所使用的相关的变量列表 343
    14.1.4 几个操作的概念 346
    14.1.5 什么是policy,以及其与wms的关系 346
    14.1.6 wms接口结构 347
    14.2 wms主要内部类 348
    14.2.1 表示窗口的数据类 348
    14.2.2 dimanimator 348
    14.2.3 fadeinoutanimation 349
    14.2.4 inputmonitor类 350
    14.2.5 policythread 351
    14.2.6 session 352
    14.2.7 watermark 353
    14.2.8 wmthread 354
    14.3 窗口的创建和删除 355
    14.3.1 创建窗口的时机和过程 355
    14.3.2 assignlayerslocked()的执行过程 360
    14.3.3 addwindowtolistinorderlocked()的执行过程 362
    14.3.4 删除窗口的时机 364
    14.3.5 删除窗口的过程 366
    14.3.6 removewindowinnerlocked() 367
    14.4 计算窗口的大小 371
    14.4.1 描述窗口尺寸的变量 371
    14.4.2 窗口大小的变化过程 372
    14.4.3 policy中layoutwindowlw()的执行过程 375
    14.4.4 输入法窗口如何影响应用窗口的大小 378
    14.5 切换窗口 379
    14.5.1 切换要解决的问题 379
    14.5.2 inputmanager和wms的接口 381
    14.5.3 ams与wms的接口 383
    14.5.4 从a到b的切换 387
    14.5.5 从b回到a的过程 390
    14.5.6 a中长按“home”键切换到b 391
    14.5.7 setappvisiblity()与销毁surface 393
    14.5.8 computefocusedwindowlocked() 396
    14.6 perforlayoutandplacesurfaceslockedinner()的执行过程 398
    14.6.1 总体过程 399
    14.6.2 第一大步骤:计算窗口的大小 401
    14.6.3 第二大步骤:计算窗口的可视状态 401
    14.6.4 第三大步骤:通知surfaceflinger进行窗口重绘 404
    14.7 窗口动画 406
    14.8 屏幕旋转及configuration的变化过程 409
    第3部分 系统篇
    第15章 资源访问机制 414
    15.1 定义资源 414
    15.2 存储资源 415
    15.3 styleable、style、attr、theme的意义 417
    15.4 attributeset与typedarray类 420
    15.5 获取resources的过程 425
    15.5.1 通过context获取 425
    15.5.2 通过packagemanager获取 429
    15.6 framework资源 431
    15.6.1 加载和读取 432
    15.6.2 添加 434
    15.6.3 实现真正主题切换的两种思路 436
    第16章 程序包管理(package manager service) 439
    16.1 包管理概述 439
    16.2 packages.xml文件格式 442
    16.2.1 last-platform-version标签 443
    16.2.2 permissions标签 443
    16.2.3 cert标签 444
    16.2.4 sigs标签 444
    16.2.5 perms标签 444
    16.2.6 package标签 444
    16.2.7 shared-user标签 445
    16.3 包管理服务的启动过程 446
    16.3.1 各主要功能类的关系 446
    16.3.2 pms主体启动过程 448
    16.3.3 readpermission()内部过程 450
    16.3.4 msettings.readlp() 452
    16.3.5 scanpackageli()内部过程 454
    16.3.6 msettings.writelp() 455
    16.4 应用程序的安装和卸载 455
    16.4.1 各主要功能类关系 456
    16.4.2 应用程序安装过程 457
    16.4.3 应用程序的卸载过程 461
    16.5 intent匹配框架 463
    16.5.1 主要功能类的关系 463
    16.5.2 主体调用过程 465
    第17章 输入法框架 467
    17.1 输入法框架组成概述 468
    17.2 输入法中各binder对象的创建过程 469
    17.2.1 inputconnection 469
    17.2.2 iinputmethodclient 471
    17.2.3 inputmethodsession 472
    17.2.4 inputmethod 475
    17.3 输入法主要操作过程 477
    17.3.1 输入法相关模块的启动过程 477
    17.3.2 切换输入法 478
    17.3.3 启动输入法 480
    17.3.4 显示输入法 485
    17.3.5 输入法操作过程中的重要变量总结 489
    17.4 输入法窗口内部的显示过程 490
    17.4.1 ims中的showwindow()的内部执行过程 491
    17.4.2 标准布局的ims 496
    17.4.3 自定义布局的ims 502
    17.5 向编辑框传递字符 503
    17.6 输入法相关源码清单 504
    第4部分 编译篇
    第18章 android编译系统 508
    18.1 android源码文件结构 509
    18.2 从调用make命令开始说起 509
    18.2.1 编译命令 510
    18.2.2 编译结构猜想 510
    18.3 编译所需脚本文件之间的协同关系 512
    18.3.1 编译系统内部功能模块图 512
    18.3.2 脚本文件的包含关系 514
    18.3.3 从子项目中提取编译目标 518
    18.3.4 生成编译规则 519
    18.3.5 设置编译输出目录 521
    18.3.6 生成最终的image文件 522
    18.4 如何增加一个product 523
    18.4.1 什么是一个product 523
    18.4.2 如何增加一个product 527
    18.5 如何增加一个项目 528
    18.5.1 项目类别和项目路径 529
    18.5.2 添加一个c项目 530
    18.5.3 添加一个apk项目 531
    18.6 apk编译过程 533
    18.6.1 总体编译过程概述 533
    18.6.2 生成r.java 535
    18.6.3 编译aidl文件 536
    18.6.4 包含java静态库 536
    18.6.5 编译java源文件生成jar包 538
    18.6.6 将jar包转换为dex文件 539
    18.6.7 编译资源文件生成apk包 540
    18.6.8 将dex文件添加到apk包中 541
    18.6.9 添加jni所需的动态库文件 541
    18.6.10 对apk文件进行签名 543
    18.6.11 使用zipalign优化apk内部存储 543
    18.7 framework的编译 544
    18.7.1 总体编译过程 544
    18.7.2 framework/core/ext三个jar文件的区别 546
    18.8 编译android.jar 547
    18.8.1 资源文件 547
    18.8.2 aidl文件 551
    18.8.3 java文件 551
    18.9 编译adt插件 553
    18.10 总结 554
    第19章 编译自己的rom 555
    19.1 嵌入式系统的内存地址空间 555
    19.2 各种映像(image)文件的作用 559
    19.3 编译nexus s(ns)的image文件 562
    19.3.1 编译linux kernel 562
    19.3.2 提取ns的私有驱动文件 563
    19.3.3 编译system.img文件 564
    19.3.4 创建ramdisk.img 565
    19.3.5 创建boot.img文件 566
    19.4 使用fastboot写入image文件 566
    19.5 最后验证 567
    19.5.1 解决触摸按键问题 568
    19.5.2 解决音量和电源键 568
    19.5.3 wifi问题 570
    19.5.4 安装google mobile service(gms) 571
    第5部分 硬件驱动篇
    第20章 基于ti omap处理器的 techshine 开发板介绍 573
    20.1 techv-35xx开发板概述 574
    20.2 交叉编译环境配置 575
    20.3 x-loader编译 578
    20.4 u-boot编译 578
    20.5 techv-35xx linux驱动和内核配置及编译 579
    20.5.1 touchscreen驱动配置 579
    20.5.2 keyboard驱动配置 580
    20.5.3 audio驱动配置 581
    20.5.4 4mmc/sd驱动配置 582
    20.5.5 nandflash驱动配置 582
    20.5.6 lcd驱动配置 583
    20.5.7 内核编译 583
    20.6 techv-35xx android驱动编写 584
    20.7 techv-35xx android开发环境建立 589
    20.8 编译android donut 590
    20.9 android根文件系统的制作 591
    20.10 相关image文件的烧写 591
    20.11 android 根文件系统安装 593

    下载地址:(百度云可在线观看)
    游客,如果您要查看本帖隐藏内容请回复


    三六五网络学院 - 论坛版权1、本主题所有言论和图片纯属会员个人意见,与本论坛立场无关
    2、本站所有课程收集于互联网,该帖子作者与三六五网络学院不享有任何版权,如有侵权请联系本站删除
    3、本站部分内容转载自其它网站,但并不代表本站赞同其观点和对其真实性负责
    4、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
    5、三六五网络学院管理员和版主有权不事先通知发贴者而删除本文

    回复

    使用道具 举报

  • TA的每日心情
    难过
    4 小时前
  • 签到天数: 2339 天

    连续签到: 80 天

    [LV.Master]伴坛终老

    35

    主题

    1万

    帖子

    1万

    积分

    终身vip会员

    Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25

    积分
    17217

    vip会员

    发表于 2015-7-29 03:45:38 | 显示全部楼层
    来看看嘎嘎~~
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    6 小时前
  • 签到天数: 2340 天

    连续签到: 156 天

    [LV.Master]伴坛终老

    56

    主题

    1万

    帖子

    1万

    积分

    终身vip会员

    Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25

    积分
    16507

    vip会员

    发表于 2015-7-29 13:43:36 | 显示全部楼层
    好好学习,天天向上。
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2022-4-29 21:42
  • 签到天数: 417 天

    连续签到: 1 天

    [LV.9]以坛为家II

    8

    主题

    824

    帖子

    1173

    积分

    终身vip会员

    Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25

    积分
    1173

    vip会员

    发表于 2015-7-29 20:00:29 | 显示全部楼层
    不错不错~~~
    回复

    使用道具 举报

  • TA的每日心情

    7 小时前
  • 签到天数: 2338 天

    连续签到: 183 天

    [LV.Master]伴坛终老

    30

    主题

    1万

    帖子

    1万

    积分

    终身vip会员

    Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25

    积分
    15707

    vip会员

    发表于 2015-7-30 04:26:02 | 显示全部楼层
    谢谢非常感谢
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2023-12-27 13:02
  • 签到天数: 320 天

    连续签到: 1 天

    [LV.8]以坛为家I

    9

    主题

    1226

    帖子

    736

    积分

    终身vip会员

    Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25

    积分
    736

    vip会员

    发表于 2015-7-30 18:21:37 | 显示全部楼层
    学习学习谢谢
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2024-3-3 08:48
  • 签到天数: 21 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    0

    主题

    260

    帖子

    105

    积分

    终身vip会员

    Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25

    积分
    105

    vip会员

    发表于 2016-2-9 19:50:23 | 显示全部楼层
    好好学习,天天向上。
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2019-6-22 12:08
  • 签到天数: 5 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    0

    主题

    37

    帖子

    951

    积分

    终身vip会员

    Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25

    积分
    951

    vip会员

    发表于 2016-2-24 15:48:15 | 显示全部楼层
    下来看看,学习一下
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2022-3-8 16:54
  • 签到天数: 86 天

    连续签到: 1 天

    [LV.6]常住居民II

    0

    主题

    239

    帖子

    116

    积分

    终身vip会员

    Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25

    积分
    116

    vip会员

    发表于 2016-3-11 14:02:03 | 显示全部楼层
    666666666666666666666
    回复

    使用道具 举报

  • TA的每日心情

    2016-9-22 13:38
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    2

    主题

    157

    帖子

    2

    积分

    终身vip会员

    Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25

    积分
    2
    发表于 2016-6-7 14:08:51 | 显示全部楼层
    good study
    回复

    使用道具 举报

    懒得打字嘛,点击右侧快捷回复
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    在线咨询

    商务合作

    客服QQ:1980803031
    点击这里给我发消息
    Copyright;  ©2012-2016  教程论坛  Powered byDiscuz!  技术支持:三六五网络学院