菜鸟科技网

Gradle Android命令有哪些常用参数及使用场景?

基础构建命令

这些是构建项目最核心的命令。

Gradle Android命令有哪些常用参数及使用场景?-图1
(图片来源网络,侵删)

build

这是最常用的命令,它会执行所有必要的任务来构建你的应用,包括:

  • 编译代码
  • 生成资源
  • 打包成 APK 或 AAB

用法:

# 在项目根目录下执行
./gradlew build

说明:

  • 这会构建所有 变体,如果你的 app 模块有 debugrelease 两种变体,它会同时构建 app-debug.apkapp-release.apk
  • 构建产物通常位于 app/build/outputs/ 目录下。

构建特定变体

在实际开发中,我们通常只需要构建特定变体,debug 版本用于调试,release 版本用于发布。

Gradle Android命令有哪些常用参数及使用场景?-图2
(图片来源网络,侵删)

assemble

这个命令用于构建指定变体的 APK 或 AAB,你需要指定 构建类型产品风味

用法:

# 构建单个变体
./gradlew assembleDebug         # 构建 debug 版本
./gradlew assembleRelease       # 构建 release 版件
# 构建多个变体
./gradlew assembleDebug assembleRelease # 同时构建 debug 和 release 版本
# 如果使用了产品风味 (flavor "free" 和 "paid")
./gradlew assembleFreeDebug     # 构建 free 产品的 debug 版本
./gradlew assemblePaidRelease   # 构建 paid 产品的 release 版本
# 构建某个产品风味下的所有版本
./gradlew assembleFree          # 构建 free 产品的 debug 和 release 版本

说明:

  • assemble 是最灵活的构建命令,是日常开发的主力。
  • 构建完成后,APK 文件的具体路径会在命令行末尾输出,
    > Task :app:assembleDebug
    Built APK to /path/to/your/project/app/build/outputs/apk/debug/app-debug.apk

清理和重新构建

clean

这个命令会删除 build 目录,清除所有之前的构建产物,当你遇到一些诡异的编译问题,或者想确保一个完全干净的构建时,非常有用。

Gradle Android命令有哪些常用参数及使用场景?-图3
(图片来源网络,侵删)

用法:

./gradlew clean

说明:

  • 执行 clean 后,下次构建会从头开始,耗时会更长。
  • 一个常见的组合是 clean assembleDebug,即“清理后重新构建 debug 版本”。

clean build

这是一个非常常见的组合,表示先清理所有旧的构建文件,然后进行一次完整的构建。

用法:

./gradlew clean build

安装和运行

installDebug

debug 变体的 APK 安装到已连接的设备或模拟器上。

用法:

./gradlew installDebug

说明:

  • 必须确保设备已开启“开发者选项”和“USB 调试”。
  • 安装成功后,你可以直接在设备上启动应用进行调试。

uninstallDebug

从设备上卸载 debug 变体的应用。

用法:

./gradlew uninstallDebug

runinstallDebug + startDebug

  • run (或 startDebug): 会先执行 installDebug,然后启动应用并附加调试器。
  • installDebug: 只是安装,不自动启动。

用法:

./gradlew run
# 或者
./gradlew installDebug startDebug

调试和依赖管理

dependencies

列出项目的所有依赖项(包括直接和传递依赖),非常有用用于排查版本冲突。

用法:

# 列出所有依赖
./gradlew dependencies
# 只列出 compileClasspath 依赖 (用于编译)
./gradlew app:dependencies --configuration compileClasspath
# 以树状结构显示,更清晰
./gradlew app:dependencies --configuration compileClasspath --configuration releaseRuntimeClasspath | grep -v "project\(:\)\|->"

说明:

  • 输出结果中, 号表示传递依赖,-> 表示版本冲突(Gradle 选择了其中一个版本)。

dependencies --refresh-dependencies

强制刷新所有依赖的缓存,重新下载,当依赖更新后,本地缓存未同步导致问题时,这个命令很有效。

用法:

./gradlew dependencies --refresh-dependencies

buildEnvironment

显示构建时使用的所有属性和变量,包括 local.propertiesgradle.properties 和系统环境变量。

用法:

./gradlew buildEnvironment

高级和实用命令

connectedCheck

在所有已连接的设备或模拟器上运行所有 Instrumentation 测试(connectedAndroidTest)。

用法:

./gradlew connectedCheck

tasks

列出项目中所有可用的任务,并可以对它们进行过滤。

用法:

# 列出所有任务
./gradlew tasks
# 列出所有与 "install" 相关的任务
./gradlew tasks | grep install
# 列出所有与 "build" 相关的任务
./gradlew tasks --all | grep build

help

获取特定任务的详细信息,例如它的描述、输入输出等。

用法:

./gradlew help --task assembleDebug

持续集成/持续部署

test

只运行单元测试和本地测试(Instrumentation 测试除外)。

用法:

./gradlew test

bundleRelease

构建一个 Android App Bundle (AAB) 文件,这是 Google Play 推荐的发布格式。

用法:

./gradlew bundleRelease

说明:

  • AAB 文件位于 app/build/outputs/bundle/release/app-release.aab
  • Google Play 会从这个文件生成针对不同设备和配置的 APK,用户只下载他们需要的部分。

常用命令速查表

命令 功能描述 常用场景
./gradlew build 构建所有变体 完整构建,检查项目整体健康状况
./gradlew assembleDebug 构建 debug 版本 APK 日常开发调试
./gradlew assembleRelease 构建 release 版本 APK 准备发布前打包
./gradlew clean 清理 build 目录 解决编译问题,确保干净构建
./gradlew installDebug 安装 debug 版本到设备 快速部署到手机/模拟器进行调试
./gradlew run 安装并启动应用 快速启动应用进行调试
./gradlew dependencies 查看项目依赖 解决依赖冲突,检查版本
./gradlew connectedCheck 在连接的设备上运行测试 在 CI/CD 流水线中验证应用在真实设备上的表现
./gradlew test 运行单元测试 本地代码质量检查,CI/CD 流水线
./gradlew bundleRelease 构建 release 版本 AAB 向 Google Play 发布应用

提示与技巧

  1. 使用 --offline 模式: 如果你的网络不稳定,或者依赖已经下载到本地,可以使用 --offline 参数来加速构建,避免 Gradle 去检查远程仓库。

    ./gradlew assembleDebug --offline
  2. 并行构建: Gradle 默认会利用多核 CPU 进行并行构建,这能显著加快构建速度,你可以在 gradle.properties 文件中设置 org.gradle.parallel=true 来启用它。

  3. 构建分析: 当构建速度变慢时,可以使用 --profile 参数生成一份构建分析报告。

    ./gradlew assembleDebug --profile

    报告会生成在 build/reports/profile/ 目录下,你可以用浏览器打开它,查看哪个任务耗时最长,从而进行优化。

希望这份详细的清单能帮助你更好地使用 Gradle 进行 Android 开发!

分享:
扫描分享到社交APP
上一篇
下一篇