

##### **基础**

- `./gradlew tasks`  
    列出可用的 Gradle 任务（查看当前项目能跑什么任务）。
    
- `./gradlew dependencies`  
    列出项目依赖树（排查依赖冲突很有用）。
    
- `./gradlew clean`  
    清理构建产物（删除 `build/` 目录）。
    

##### **构建 APK / AAB**

- `./gradlew assembleDebug`  
    构建 debug APK（输出：`app/build/outputs/apk/debug/*.apk`）。
    
- `./gradlew assembleRelease`  
    构建 release APK（需签名配置，否则生成 unsigned apk）。
    
- `./gradlew bundleRelease`  
    生成 AAB（Android App Bundle），输出：`app/build/outputs/bundle/release/*.aab`。
    
- `./gradlew bundleDebug`  
    生成 debug bundle（少用，通常用于测试）。
    

##### **按 module / productFlavor / buildType 构建**

- `./gradlew :moduleName:assembleRelease`  
    构建指定 module（多模块项目时用）。
    
- `./gradlew assembleFlavorNameRelease`  
    构建指定 flavor + buildType（例如 `assemblePaidRelease`）。
    

##### **安装与卸载**

- `./gradlew installDebug`  
    将 debug APK 安装到连接的设备/模拟器（需要 adb 可用）。
    
- `./gradlew uninstallDebug`  
    从设备卸载 debug 包。
    
- 如果用生成的 APK 手动安装：`adb install -r app/build/outputs/apk/debug/app-debug.apk`
    

##### **测试**

- 单元测试（JVM）：`./gradlew test` 或 `./gradlew testDebugUnitTest`
    
- 仪器/设备测试（connected devices）：`./gradlew connectedAndroidTest` 或 `./gradlew connectedCheck`
    

##### **静态检查 / 报表**

- `./gradlew lint` 或 `./gradlew lintDebug`  
    运行 Android Lint。
    
- `./gradlew signingReport`  
    输出签名信息（SHA1/SHA256），常用于配置 API key（Google/Firebase）。
    

##### **调试构建问题的常用参数**

- `--stacktrace` / `--full-stacktrace`：打印堆栈跟踪（排错用）
    
- `--info` / `--debug`：更详细的日志级别
    
- `--scan`：生成构建扫描（需要网络，便于深入分析）
    
- `--no-daemon`：不使用 Gradle daemon（CI 时有时会用）
    
- `--parallel`：并行构建模块（能加速多模块项目）
    
- `-x test`：跳过测试（例如 `./gradlew assembleRelease -x test`）
    
- `--offline`：离线构建（只用缓存依赖）
    
- `--refresh-dependencies`：刷新依赖缓存
    

##### **性能 / CI 常用组合示例**

- 本地快速一把：`./gradlew clean assembleDebug --parallel --info`
    
- CI (不使用 daemon，输出详细)：`./gradlew clean assembleRelease --no-daemon --stacktrace -x test`
    
- 只构建 moduleA 的 release：`./gradlew :moduleA:assembleRelease`
    

##### **常见路径**

- APK：`app/build/outputs/apk/<buildType|flavor>/...`
    
- AAB：`app/build/outputs/bundle/<buildType>/...`
    
- 临时构建缓存：`~/.gradle/caches/`
    

##### **小贴士**

- 始终用项目里的 Gradle Wrapper（`./gradlew`），保证 Gradle 版本一致。
    
- Release 构建需要正确的 `signingConfig`（通常放在 `gradle.properties` + `build.gradle`），也可以在 CI 用 `-P` 传参数（注意不要把敏感信息放在日志里）。
    
- 出问题先加 `--stacktrace --info` 看详情，再定位是依赖、ProGuard/R8、签名还是资源冲突。
