描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787121296024
编辑推荐
工欲善其事,必先利其器。有别于其他Android类的图书,笔者将一个Android工程师日常所用到的涉及开发、编译、代码管理、性能分析等多方面的工具、原理,及经验总结系统地展现给大家。所有内容都是笔者日常工作中的心得和经验总结。无论你是开发的菜鸟还是资深的“攻城狮”都能从中有所获益。
内容简介
本书以通俗易懂的语言介绍了Android开发的工具使用。全书共分为7章。第1章主要讲解如何搭建一个优雅、令人愉悦的开发环境。第2章主要讲解协同开发*重要的工具Git。第3章主要讲解Android Studio的一些不为人知的使用技巧。第4章主要讲解Android*的编译工具Gradle的使用技巧。第5章主要讲解SDK和开发者选项中提供的工具的使用方式。第6章主要讲解Android提供的一些性能优化的工具及其使用技巧。第7章主要讲解个人开发者和团队开发者在学习、工作中经常使用的一些工具。本书适用于各个层次的Android开发者,不论是初出茅庐的开发者还是资深的开发者。工具的使用永远是一门讲不完的学问,笔者希望抛砖引玉,让开发者能够驾驭好各种工具,为己所用。
目 录
目录
第1章 程序员小窝——搭建高效的开发环境 1
1.1 搭建高效的开发环境之操作系统 1
1.2 搭建开发环境之高效配置 4
基本环境配置 5
基本开发工具 7
1.3 搭建程序员的博客平台 30
开发者为什么要写作 30
写作平台 31
第三方博客平台 31
自建博客平台 32
开发论坛 41
1.4 Geek PPT Presentation 43
impress.js 43
Strut 44
reveal.js 44
Slides 45
1.5 开发文档 46
Markdown 46
项目文档生成器 50
第2章 版本控制神器——Git 53
2.1 Git的前世今生 53
Git是什么 54
Git安装与配置 55
2.2 创建Git仓库 58
Git init 58
Git clone 58
2.3 提交修改 58
add && commit 59
追加修改 60
查看代码仓库状态 60
追溯版本历史 62
2.4 工作区与暂存区 64
Git操作区域 64
2.5 Git回退 65
checkout && reset 65
回退版本 67
2.6 操作历史 68
2.7 Git文件操作 69
git rm 69
文件暂存 70
2.8 远程仓库 70
身份认证 71
同步协作 73
Clone远程仓库 76
2.9 分支管理 77
创建分支 77
查看分支 78
合并分支 78
删除分支 79
查看远程分支 80
推送分支 80
分支管理思想 80
2.10 Git图解 81
2.11 Tag 82
创建Tag 82
创建带标签的Tag 82
查看Tag 82
删除标签 83
推送Tag到远程 83
删除远程Tag 83
2.12 Git图形化工具 84
Git for Windows 84
Github Desktop 84
SourceTree 85
Android Studio 85
2.13 Git学习资料 86
Git练习 87
第3章 Android Studio奇技淫巧 90
3.1 Android Studio使用初探 90
Project面板 91
Structure面板 92
Android Monitor 93
Keymap 93
Tip of the Day 94
快速查找 95
Search Action 96
演示模式 97
3.2 Android Studio使用进阶 98
操作与导航 98
快速重构 115
代码模板 122
内置模板 122
自定义代码注释模板 124
代码分析 132
在Android Studio中进行版本管理 135
3.3 Android Studio新功能 139
项目模板 139
ThemeEditor 140
Image Asset && Vector Asset 140
Android Monitor 143
Instant Run 144
Productivity Guide 145
3.4 Android Studio插件 146
Ignore 146
自动生成代码类插件 148
主题插件 149
3.5 Android Studio资源网站 151
Android Studio中文社区 151
Android Studio问答社区 151
第4章 与Gradle的爱恨情仇 153
4.1 如何学习Gradle 154
4.2 Gradle初探 154
项目全局build.gradle 156
Module build.gradle 157
local.properties 159
Gradle Task 160
4.3 Gradle进阶 162
更改项目结构 162
构建全局配置 165
构建defaultConfig 166
构建buildTypes 167
构建signingConfigs 170
生成签名 170
Android领域中的可选配置 174
构建Proguard 175
Gradle动态参数配置 176
System.properties方式 176
多渠道打包 179
脚本优化 180
生成重命名包 181
为不同版本添加不同代码 182
4.4 Gradle多项目依赖 185
jar包依赖 185
SO库依赖 188
本地库项目依赖 189
远程仓库依赖 193
本地aar依赖 196
使用Gradle上传aar到Maven库 198
4.5 Gradle依赖管理 199
Gradle依赖库缓存 199
利用Gradle的通知机制 199
利用Gradle的依赖检查 200
Gradle依赖传递 200
Gradle依赖统一管理 201
4.6 Gradle使用技巧 202
生成Gradle编译脚本 202
Gradle peer not authenticated 203
Gradle性能检测 203
Gradle加速 206
增加编译内存 207
Gradle调用终端指令 207
使用Gradle精简资源 207
清除Gradle缓存 208
使用Gradle本地缓存 209
Gradle版本问题导致的编译错误 209
Gradle资源冲突 210
4.7 Gradle自定义插件 211
构建默认插件 211
构建自定义插件 216
4.8 Gradle思考 219
Grovvy初探 219
Gradle项目架构 224
Gradle生命周期 225
4.9 使用Android Studio的图形化界面 228
第5章 深藏功与名的开发者工具 230
5.1 AAPT 230
AAPT初探 230
AAPT基本使用方法 231
查看AAPT命令格式 235
AAPT源代码 239
5.2 Lint 240
5.3 ADB指令 241
Help指令 242
无线调试 242
截图与录屏 243
帧率分析 244
dumpsys 245
Logcat 246
Bugreport 248
5.4 Android Device Monitor 250
5.5 9Patch工具 252
5.6 Hierarchy Viewer 255
在真机上使用Hierarchy Viewer 255
使用Hierarchy Viewer分析页面 256
5.7 UI Automator Viewer 257
5.8 DDMLib 258
其他SDK工具 258
5.9 开发者选项 259
Process Stats 259
Show Touches && Pointer Location 260
Show Layout Bounds 260
Animation Scale 261
Simulate Secondary Displays 262
Debug GPU Overdraw 262
Show CPU Usage 264
Profile GPU Rending 264
Strick Mode 265
不保留活动 266
第6章 App背后的故事——性能
检测与分析工具 267
6.1 性能优化之前 267
6.2 Google的技术指导 269
6.3 UI性能分析 271
16ms黄金准则 271
Android系统对UI的提升 271
布局核心准则 271
RelativeLayout VS LinearLayout 272
HierarchyViewer 272
Merge与ViewStub 273
图形重绘Overdraw 273
Tracer for OpenGL 276
GPUProfiler 281
Profile GPU Rendering 281
Framestats 283
Logcat 283
traces.txt 284
Android Studio GPU Monitor 285
Systrace 285
CPU区域 290
SurfaceFlinger 291
应用区域 291
Alert 294
6.4 Traceview 294
In Source Code 295
In DDMS 296
Traceview分析 296
图形列表 297
详细列表 297
6.5 应用启动时间计算 300
启动时间定义 300
ADB计算启动时间 300
使用相机分析 301
6.6 内存探究 301
内存区分 302
系统内存分析工具 302
获取内存信息 306
GC系统 307
ActivityManager.MemoryInfo 308
Debug.MemoryInfo 310
Runtime 310
获取更多内存 312
6.7 系统内存警告 313
6.8 onLowMemory 313
ComponentCallbacks 313
onTrimMemory 314
6.9 内存泄漏检测 315
6.10 Logcat 315
6.11 Dump Heap 316
6.12 Allocation Tracker 318
In Android Studio 318
In DDMS 320
6.13 Android Studio Memory Monitor 321
6.14 内存泄漏分析 322
6.15 Memory Analysis Tool (MAT) 322
准备Dump Heap文件 324
分析 325
6.16 LeakCanary 333
引用LeakCanary 333
初始化LeakCanary 333
检测 333
6.17 CPU Performance 335
6.18 Top 336
总览 337
详细 337
6.19 Show CPU Usage 338
第1章 程序员小窝——搭建高效的开发环境 1
1.1 搭建高效的开发环境之操作系统 1
1.2 搭建开发环境之高效配置 4
基本环境配置 5
基本开发工具 7
1.3 搭建程序员的博客平台 30
开发者为什么要写作 30
写作平台 31
第三方博客平台 31
自建博客平台 32
开发论坛 41
1.4 Geek PPT Presentation 43
impress.js 43
Strut 44
reveal.js 44
Slides 45
1.5 开发文档 46
Markdown 46
项目文档生成器 50
第2章 版本控制神器——Git 53
2.1 Git的前世今生 53
Git是什么 54
Git安装与配置 55
2.2 创建Git仓库 58
Git init 58
Git clone 58
2.3 提交修改 58
add && commit 59
追加修改 60
查看代码仓库状态 60
追溯版本历史 62
2.4 工作区与暂存区 64
Git操作区域 64
2.5 Git回退 65
checkout && reset 65
回退版本 67
2.6 操作历史 68
2.7 Git文件操作 69
git rm 69
文件暂存 70
2.8 远程仓库 70
身份认证 71
同步协作 73
Clone远程仓库 76
2.9 分支管理 77
创建分支 77
查看分支 78
合并分支 78
删除分支 79
查看远程分支 80
推送分支 80
分支管理思想 80
2.10 Git图解 81
2.11 Tag 82
创建Tag 82
创建带标签的Tag 82
查看Tag 82
删除标签 83
推送Tag到远程 83
删除远程Tag 83
2.12 Git图形化工具 84
Git for Windows 84
Github Desktop 84
SourceTree 85
Android Studio 85
2.13 Git学习资料 86
Git练习 87
第3章 Android Studio奇技淫巧 90
3.1 Android Studio使用初探 90
Project面板 91
Structure面板 92
Android Monitor 93
Keymap 93
Tip of the Day 94
快速查找 95
Search Action 96
演示模式 97
3.2 Android Studio使用进阶 98
操作与导航 98
快速重构 115
代码模板 122
内置模板 122
自定义代码注释模板 124
代码分析 132
在Android Studio中进行版本管理 135
3.3 Android Studio新功能 139
项目模板 139
ThemeEditor 140
Image Asset && Vector Asset 140
Android Monitor 143
Instant Run 144
Productivity Guide 145
3.4 Android Studio插件 146
Ignore 146
自动生成代码类插件 148
主题插件 149
3.5 Android Studio资源网站 151
Android Studio中文社区 151
Android Studio问答社区 151
第4章 与Gradle的爱恨情仇 153
4.1 如何学习Gradle 154
4.2 Gradle初探 154
项目全局build.gradle 156
Module build.gradle 157
local.properties 159
Gradle Task 160
4.3 Gradle进阶 162
更改项目结构 162
构建全局配置 165
构建defaultConfig 166
构建buildTypes 167
构建signingConfigs 170
生成签名 170
Android领域中的可选配置 174
构建Proguard 175
Gradle动态参数配置 176
System.properties方式 176
多渠道打包 179
脚本优化 180
生成重命名包 181
为不同版本添加不同代码 182
4.4 Gradle多项目依赖 185
jar包依赖 185
SO库依赖 188
本地库项目依赖 189
远程仓库依赖 193
本地aar依赖 196
使用Gradle上传aar到Maven库 198
4.5 Gradle依赖管理 199
Gradle依赖库缓存 199
利用Gradle的通知机制 199
利用Gradle的依赖检查 200
Gradle依赖传递 200
Gradle依赖统一管理 201
4.6 Gradle使用技巧 202
生成Gradle编译脚本 202
Gradle peer not authenticated 203
Gradle性能检测 203
Gradle加速 206
增加编译内存 207
Gradle调用终端指令 207
使用Gradle精简资源 207
清除Gradle缓存 208
使用Gradle本地缓存 209
Gradle版本问题导致的编译错误 209
Gradle资源冲突 210
4.7 Gradle自定义插件 211
构建默认插件 211
构建自定义插件 216
4.8 Gradle思考 219
Grovvy初探 219
Gradle项目架构 224
Gradle生命周期 225
4.9 使用Android Studio的图形化界面 228
第5章 深藏功与名的开发者工具 230
5.1 AAPT 230
AAPT初探 230
AAPT基本使用方法 231
查看AAPT命令格式 235
AAPT源代码 239
5.2 Lint 240
5.3 ADB指令 241
Help指令 242
无线调试 242
截图与录屏 243
帧率分析 244
dumpsys 245
Logcat 246
Bugreport 248
5.4 Android Device Monitor 250
5.5 9Patch工具 252
5.6 Hierarchy Viewer 255
在真机上使用Hierarchy Viewer 255
使用Hierarchy Viewer分析页面 256
5.7 UI Automator Viewer 257
5.8 DDMLib 258
其他SDK工具 258
5.9 开发者选项 259
Process Stats 259
Show Touches && Pointer Location 260
Show Layout Bounds 260
Animation Scale 261
Simulate Secondary Displays 262
Debug GPU Overdraw 262
Show CPU Usage 264
Profile GPU Rending 264
Strick Mode 265
不保留活动 266
第6章 App背后的故事——性能
检测与分析工具 267
6.1 性能优化之前 267
6.2 Google的技术指导 269
6.3 UI性能分析 271
16ms黄金准则 271
Android系统对UI的提升 271
布局核心准则 271
RelativeLayout VS LinearLayout 272
HierarchyViewer 272
Merge与ViewStub 273
图形重绘Overdraw 273
Tracer for OpenGL 276
GPUProfiler 281
Profile GPU Rendering 281
Framestats 283
Logcat 283
traces.txt 284
Android Studio GPU Monitor 285
Systrace 285
CPU区域 290
SurfaceFlinger 291
应用区域 291
Alert 294
6.4 Traceview 294
In Source Code 295
In DDMS 296
Traceview分析 296
图形列表 297
详细列表 297
6.5 应用启动时间计算 300
启动时间定义 300
ADB计算启动时间 300
使用相机分析 301
6.6 内存探究 301
内存区分 302
系统内存分析工具 302
获取内存信息 306
GC系统 307
ActivityManager.MemoryInfo 308
Debug.MemoryInfo 310
Runtime 310
获取更多内存 312
6.7 系统内存警告 313
6.8 onLowMemory 313
ComponentCallbacks 313
onTrimMemory 314
6.9 内存泄漏检测 315
6.10 Logcat 315
6.11 Dump Heap 316
6.12 Allocation Tracker 318
In Android Studio 318
In DDMS 320
6.13 Android Studio Memory Monitor 321
6.14 内存泄漏分析 322
6.15 Memory Analysis Tool (MAT) 322
准备Dump Heap文件 324
分析 325
6.16 LeakCanary 333
引用LeakCanary 333
初始化LeakCanary 333
检测 333
6.17 CPU Performance 335
6.18 Top 336
总览 337
详细 337
6.19 Show CPU Usage 338
前 言
写书一直都是一件苦差事,能支撑我走下去的,就是读者们的支持。只要笔者的书对读者有一点点帮助,不论是解决了一个项目中的Bug,还是成功回答了面试官的问题,对笔者来说,都是莫大的鼓励。也正是这些鼓励,让笔者坚持到了今天,坚持到了第二本书的出版。
第二本书
由于书籍的篇幅和内容限制,笔者有很多内容都无法在《Android 群英传》中尽善尽美地表述出来,因此笔者在写完《Android 群英传》之后,萌生了创作后续作品的想法。终,笔者将第二本书命名为——《Android 群英传:神兵利器》。本书《Android 群英传》,以Android开发中的重、难点知识点为基础,对如何学习、理解并掌握这些知识点进行讲解。而第二本书,笔者不再继续讲解Android中的知识点,而是向大家介绍如何使用工具进行高效的Android开发,很明显两本书的重点各不相同,内容相辅相成。
工具之道
古人有云,工欲善其事,必先利其器。好的工具,可以事半而功倍。人类的发展历程,也是一个工具革新的历程。人类不断创造工具,改善生活,从而推动着社会的进步。对于程序员来说,工具更是有着举足轻重的意义。在软件开发界,有一句非常有名的话——Stop Trying to Reinvent the Wheel,即不要重复造轮子。这也是本书的宗旨——让读者善于使用工具以提高开发的效率。
笔者一直认为工具是程序员好的伙伴。普通程序员使用工具,高级程序员驾驭工具,神级程序员创造工具。这也是一个开发者,从普通程序员到优秀程序员的进阶之路。普通程序员也许只是懂得在合适的场合使用合适的工具。而优秀程序员,则是那些能够驾驭这些工具的开发者,他们是设计师,通过工具创造美妙的程序。开发者需要了解、驾驭你的工具,知道何时、何地该怎样使用工具,以便快速、准确地解决问题。
笔者相信,这个世界上没有什么事情是不能通过工具来解决的。如果有,那么就创造一个工具去解决。
关于本书
本书共分为7章,分别是:
第1章主要讲解如何搭建一个优雅、令人愉悦的开发环境。开发者绝不是“码农”,而是要去享受创造的乐趣的,所以一个高效的开发环境就显得尤为重要了。正所谓——开发环境搭得好,程序设计乐逍遥。
第2章讲解协同开发重要的工具——Git。它可以说是目前团队开发的基础,也是版本控制的核心工具。正所谓——项目要想跑得好,版本控制不可少。
第3章主要讲解Android Studio的一些不为人知的使用技巧,发掘出Android Studio作为一个强大工具的巨大力量。正所谓——Android Studio大揭秘,省出时间玩游戏。
第4章主要讲解Android的编译工具Gradle的使用技巧。虽然Gradle的学习曲线比较陡峭,但如果说Android Studio是一把宝剑,那么掌握好Gradle,就好比一块磨刀石,可以把宝剑打磨得愈发锋利。正所谓——与Gradle的爱恨情仇,让你一次爱个够。
第5章主要讲解SDK和开发者选项中提供的工具的使用方式。这些工具也是开发者容易忽视的工具。正所谓——珍视身边的朋友,从开发者工具做起。
第6章主要讲解Android提供的一些性能优化的工具及其使用技巧。利用好这些工具,是进行性能优化的前提。正所谓——探究性能秘史,了解尘封往事。
第7章主要讲解个人开发者和团队开发者在学习、工作中经常使用的一些工具。正所谓——个人团队轮流转,工具真情长相伴。
本书读者对象
本书适用于各个层次的Android开发者,不论是初出茅庐的开发者还是资深的开发者。工具的使用永远是一门讲不完的学问,笔者希望抛砖引玉,让开发者能够驾驭好各种工具,为己所用。
书摘插画
评论
还没有评论。