工欲善其事,必先利其器。有别于其他Android类的图书,笔者将一个Android工程师日常所用到的涉及开发、编译、代码管理、性能分析等多方面的工具、原理,及经验总结系统地展现给大家。所有内容都是笔者日常工作中的心得和经验总结。无论你是开发的菜鸟还是资深的“攻城狮”都能从中有所获益。
《Android群英传:神兵利器》以通俗易懂的语言介绍了Android开发的工具使用。《Android群英传:神兵利器》共分为7章。第1章主要讲解如何搭建一个优雅、令人愉悦的开发环境。第2章主要讲解协同开发重要的工具Git。第3章主要讲解Android Studio的一些不为人知的使用技巧。第4章主要讲解Android全新的编译工具Gradle的使用技巧。第5章主要讲解SDK和开发者选项中提供的工具的使用方式。第6章主要讲解Android提供的一些性能优化的工具及其使用技巧。第7章主要讲解个人开发者和团队开发者在学习、工作中经常使用的一些工具。
《Android群英传:神兵利器》适用于各个层次的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
6.20 Android Studio CPU Monitor 338
6.21 Method Tracing 339
6.22 BatteryPerformance 340
电量消耗计算 340
耗电元凶 341
电量分析 341
6.23 综合测试工具 346
6.24 Android Device Monitor 347
Threads 348
System Information 349
6.25 高通性能工具 350
Trepn Profiler 350
App Tune-up Kit 354
6.26 云测平台 356
第7章 一个人的寂寞与一群人的狂欢 359
7.1 如何解决问题 360
Chrome 360
Google搜索 362
Github 363
Stackoverflow 364
代码检索工具 365
7.2 如何简化开发 371
移动后端服务 371
云存储服务 371
数据分析服务 372
云测试服务 372
Proguard自动生成工具 372
gitignore自动生成工具 373
7.3 如何学习 374
思维导图 374
explainshell 376
Tldr 377
vim-adventures 377
7.4 如何演示 378
手机投视工具 378
录制Gif 379
MP4转Gif 380
7.5 如何协作 381
Git 381
Code Review 381
Gitlab 383
Maven服务器 384
自动化测试 385
持续集成与自动化 387
Bug管理 388
新员工指南 390
7.6 如何设计 390
AndroidAssetStudio 391
Shape生成器 391
ICON资源 392
设计资源 394
AngryTools 394
MateriaPalette 396
Google Design Spec 396
附录A AndroidStudio快捷键 398