目 錄
第 1章 Gradle入門 1
1.1 配置Gradle環境 1
1.1.1 Linux下搭建Gradle構建環境 2
1.1.2 Windows下搭建Gradle構建環境 3
1.2 Gradle版Hello World 3
1.3 Gradle Wrapper 5
1.3.1 生成Wrapper 5
1.3.2 Wrapper配置 6
1.3.3 gradle-wrapper.properties 6
1.3.4 自定義Wrapper Task 7
1.4 Gradle日誌 8
1.4.1 日誌級彆 8
1.4.2 輸齣錯誤堆棧信息 9
1.4.3 自己使用日誌信息調試 9
1.5 Gradle命令行 10
1.5.1 記得使用幫助 10
1.5.2 查看所有可執行的Tasks 10
1.5.3 Gradle Help任務 11
1.5.4 強製刷新依賴 12
1.5.5 多任務調用 13
1.5.6 通過任務名字縮寫執行 13
第 2章 Groovy基礎 14
2.1 字符串 14
2.2 集閤 15
2.2.1 List 16
2.2.2 Map 17
2.3 方法 18
2.3.1 括號是可以省略的 18
2.3.2 return是可以不寫的 18
2.3.3 代碼塊是可以作為參數傳遞的 19
2.4 JavaBean 20
2.5 閉包 21
2.5.1 初識閉包 21
2.5.2 嚮閉包傳遞參數 22
2.5.3 閉包委托 22
2.6 DSL 24
第3章 Gradle構建腳本基礎 25
3.1 Settings文件 25
3.2 Build文件 26
3.3 Projects以及tasks 27
3.4 創建一個任務 28
3.5 任務依賴 29
3.6 任務間通過API控製、交互 30
3.7 自定義屬性 31
3.8 腳本即代碼,代碼也是腳本 33
第4章 Gradle任務 34
4.1 多種方式創建任務 34
4.2 多種方式訪問任務 36
4.3 任務分組和描述 38
4.4 <<操作符 39
4.5 任務的執行分析 41
4.6 任務排序 43
4.7 任務的啓用和禁用 44
4.8 任務的onlyIf斷言 45
4.9 任務規則 48
4.10 小結 49
第5章 Gradle插件 50
5.1 插件的作用 50
5.2 如何應用一個插件 51
5.2.1 應用二進製插件 51
5.2.2 應用腳本插件 51
5.2.3 apply方法的其他用法 52
5.2.4 應用第三方發布的插件 53
5.2.5 使用plugins DSL應用插件 53
5.2.6 更多好用的插件 54
5.3 自定義插件 54
5.4 小結 56
第6章 Java Gradle插件 57
6.1 如何應用 57
6.2 Java插件約定的項目結構 58
6.3 如何配置第三方依賴 59
6.4 如何構建一個Java項目 62
6.5 源碼集閤(SourceSet)概念 63
6.6 Java插件添加的任務 65
6.7 Java插件添加的屬性 66
6.8 多項目構建 66
6.9 如何發布構件 69
6.10 生成Idea和Eclipse配置 71
6.11 小結 72
第7章 Android Gradle插件 73
7.1 Android Gradle插件簡介 73
7.2 Android Gradle插件分類 74
7.3 應用Android Gradle插件 74
7.4 Android Gradle工程示例 75
7.4.1 compileSdkVersion 77
7.4.2 buildToolsVersion 78
7.4.3 defaultConfig 79
7.4.4 buildTypes 79
7.5 Android Gradle任務 80
7.6 從Eclipse遷移到Android Gradle工程 81
7.6.1 使用Android Studio導入 81
7.6.2 從Eclipse+ADT中導齣 82
7.7 小結 85
第8章 自定義Android Gradle工程 86
8.1 defaultConfig默認配置 86
8.1.1 applicationId 87
8.1.2 minSdkVersion 87
8.1.3 targetSdkVersion 88
8.1.4 versionCode 89
8.1.5 versionName 89
8.1.6 testApplicationId 90
8.1.7 testInstrumentationRunner 91
8.1.8 signingConfig 91
8.1.9 proguardFile 92
8.1.10 proguardFiles 93
8.2 配置簽名信息 93
8.3 構建的應用類型 97
8.3.1 applicationIdSuffix 97
8.3.2 debuggable 98
8.3.3 jniDebuggable 98
8.3.4 minifyEnabled 99
8.3.5 multiDexEnabled 99
8.3.6 proguardFile 100
8.3.7 proguardFiles 100
8.3.8 shrinkResources 101
8.3.9 signingConfig 101
8.4 使用混淆 102
8.5 啓用zipalign優化 104
8.6 小結 105
第9章 Android Gradle高 級自定義 106
9.1 使用共享庫 106
9.2 批量修改生成的apk文件名 108
9.3 動態生成版本信息 111
9.3.1 **原始的方式 111
9.3.2 分模塊的方式 112
9.3.3 從git的tag中獲取 113
9.3.4 從屬性文件中動態獲取和遞增 117
9.4 隱藏簽名文件信息 118
9.5 動態配置AndroidManifest文件 120
9.6 自定義你的BuildConfig 123
9.7 動態添加自定義的資源 126
9.8 Java編譯選項 128
9.9 adb操作選項配置 130
9.10 DEX選項配置 133
9.11 突破65535方法限製 138
9.12 自動清理未使用的資源 142
第 10章 Android Gradle多項目構建 147
10.1 Android項目區彆 147
10.2 Android多項目設置 148
10.3 庫項目引用和配置 149
10.4 庫項目單獨發布 151
10.5 小結 154
第 11章 Android Gradle多渠道構建 156
11.1 多渠道構建的基本原理 156
11.2 Flurry多渠道和友盟多渠道構建 157
11.3 多渠道構建定製 159
11.3.1 applicationId 159
11.3.2 consumerProguardFiles 160
11.3.3 manifestPlaceholders 161
11.3.4 multiDexEnabled 161
11.3.5 proguardFiles 161
11.3.6 signingConfig 162
11.3.7 testApplicationId 162
11.3.8 testFunctionalTest和testHandleProfiling 163
11.3.9 testInstrumentationRunner 164
11.3.10 testInstrumentationRunnerArguments 164
11.3.11 versionCode和versionName 165
11.3.12 useJack 165
11.3.13 dimension 166
11.4 提高多渠道構建的效率 169
11.5 小結 170
第 12章 Android Gradle測試 172
12.1 基本概念 172
12.2 本地單元測試 175
12.3 Instrument測試 179
12.4 測試選項配置 181
12.5 代碼覆蓋率 184
12.6 Lint支持 187
12.6.1 abortOnError 188
12.6.2 absolutePaths 189
12.6.3 check 189
12.6.4 checkAllWarnings 196
12.6.5 checkReleaseBuilds 196
12.6.6 disable 197
12.6.7 enable 198
12.6.8 explainIssues 198
12.6.9 htmlOutput 198
12.6.10 htmlReport 199
12.6.11 ignoreWarnings 199
12.6.12 lintConfig 199
12.6.13 noLines 199
12.6.14 quiet 200
12.6.15 severityOverrides 200
12.6.16 showAll 201
12.6.17 textOutput 202
12.6.18 textReport 202
12.6.19 warningsAsErrors 202
12.6.20 xmlOutput 203
12.6.21 xmlReport 203
12.6.22 error、fatal、ignore、warning、informational 203
第 13章 Android Gradle NDK支持 206
13.1 環境配置 206
13.2 編譯C/C++源代碼 208
13.3 多平颱編譯 212
13.4 使用第三方的so庫 214
13.5 使用NDK提供的庫 214
13.6 C++庫支持 216
第 14章 Android Gradle持續集成 219
14.1 什麼是持續集成 219
14.2 持續集成的價值 219
14.3 Android Gradle持續集成 220
14.4 怎樣更好地做持續集成 222
14.5 人纔是關鍵 223
· · · · · · (
收起)