【./gradlew tasks】Gradle 任务的分类解析

236 阅读2分钟

以下是 Gradle 任务的分类解析,帮助你理解每个任务的作用:


​核心任务分类​

​1. Android 相关任务​

任务名称作用
androidDependencies显示项目的 Android 依赖树(如库、资源、清单文件等)
signingReport​显示签名配置信息​​(检查 releasedebug 的签名是否生效)
sourceSets打印项目的源码目录结构(如 maintestandroidTest 的源码路径)

​2. 构建任务(Build Tasks)​

任务名称作用
assemble​构建所有变体的 APK/AAB​​(如 debugrelease
assembleRelease仅构建 Release 版本的 APK/AAB(需先配置签名)
assembleDebug仅构建 Debug 版本的 APK(无签名,用于开发测试)
clean​清理构建目录​​(删除 app/build/ 下的生成文件)
build执行 assemble + 运行所有测试(包括单元测试和设备测试)
bundle生成 Android App Bundle(AAB)文件

​3. 安装/卸载任务(Install Tasks)​

任务名称作用
installDebug​安装 Debug APK 到连接的设备​
installRelease安装 Release APK(需设备已授权签名)
uninstallAll从设备卸载所有已安装的 APK(包括 debugrelease

​4. 测试任务(Verification Tasks)​

任务名称作用
connectedAndroidTest​在连接的设备/模拟器上运行 Android 测试​
testDebugUnitTest运行 Debug 版本的单元测试(JUnit 测试)
lint运行代码静态分析检查(检测潜在代码问题)
check执行所有测试和检查(包括 linttest

​5. 帮助与配置(Help & Setup)​

任务名称作用
dependencies​显示项目的依赖树​​(查看所有库的依赖关系)
buildEnvironment显示构建脚本的依赖(如 build.gradle 中使用的插件版本)
properties打印项目的所有 Gradle 属性(如 compileSdkversionCode 等)
wrapper生成或更新 gradlew 脚本(用于统一项目的 Gradle 版本)

​常用任务场景示例​

​生成 Release APK​

./gradlew assembleRelease
  • ​输出路径​​:app/build/outputs/apk/release/app-release.apk

​安装 Debug APK 到设备​

./gradlew installDebug

​运行单元测试​

./gradlew testDebugUnitTest

​查看依赖冲突​

./gradlew app:dependencies --configuration releaseRuntimeClasspath

​检查签名配置​

./gradlew signingReport

​清理并重新构建​

./gradlew clean assembleDebug

​其他高级任务​

  • buildNeeded​:构建当前项目及其依赖的所有项目(多模块项目适用)
  • updateLintBaseline​:更新 Lint 基线文件(忽略已知警告)
  • checkJetifier​:检查是否需要启用 Jetifier(旧版库迁移到 AndroidX)

​总结​

  • ​核心任务​​:assemble, install, clean, dependencies

  • ​调试技巧​​:用 signingReport 检查签名,用 lint 优化代码

  • ​性能优化​​:使用 --profile 参数生成构建性能报告:

    ./gradlew assembleRelease --profile
    

通过合理使用这些任务,可以高效完成构建、测试和部署流程。