./gradlew assembleDebug和gradle build区别

一、./gradlew assembleDebug和gradle build区别

./gradlew assembleDebug
  • 核心功能 :仅编译并打包Debug 版本 的 APK(或 AAB),是针对性的构建命令

  • 执行范围

    • 只执行和 "Debug 包构建" 相关的任务:编译代码 → 生成 Debug 签名 → 打包成 APK(路径:app/build/outputs/apk/debug/app-debug.apk)。
    • 不会执行测试代码编译、单元测试、Release 包构建等无关任务。
    • 是安卓开发中最常用的命令(日常调试、安装测试都用这个)。
  • 示例执行效果

    bash

    运行

    复制代码
    ./gradlew assembleDebug
    # 执行完成后,仅生成 debug 包,无其他额外输出
gradle build
  • 核心功能 :执行项目全量构建 ,是全覆盖的构建命令 (若用 ./gradlew build 则是用 wrapper 执行全量构建)。

  • 执行范围

    • 包含 assembleDebug + assembleRelease:同时生成 Debug 和 Release 两个版本的安装包。
    • 额外执行测试相关任务:编译测试代码、运行单元测试、检查代码规范等。
    • 执行检查类任务:如 lint(代码静态检查)、check(测试结果校验)等。
    • 输出文件:同时生成 app-debug.apk 和 Release 版本包(若未配置 Release 签名信息,默认生成无签名的 app-release-unsigned.apk;若已配置 Release 签名,生成带正式签名的 app-release.apk)。
  • 示例执行效果

    bash

    运行

    复制代码
    gradle build
    # 执行完成后,生成 debug + release 包,还会输出测试报告、lint 报告等

详细对比表

特性 ./gradlew assembleDebug gradle build
Gradle 版本来源 项目自带的 Gradle Wrapper(推荐) 本地全局安装的 Gradle
构建范围 仅 Debug 包 全量构建(Debug+Release + 测试)
执行速度 快(仅核心任务) 慢(包含大量额外任务)
输出文件 仅 debug 包 debug 包 + release 包 + 测试报告
适用场景 日常开发、调试、快速安装测试 发布前全量验证、打包所有版本

二、补充说明

  1. 为什么优先用 gradlew 而非 gradle :团队协作时,不同开发者本地 Gradle 版本可能不一致,gradlew 会自动匹配项目的 gradle-wrapper.properties 中指定的版本,避免 "本地能跑、同事跑不了" 的问题。正确的全量构建写法应该是 ./gradlew build(而非 gradle build)。

  2. 其他常用衍生命令

    • ./gradlew assembleRelease:仅生成 Release 包(需配置签名)。
    • ./gradlew clean:清空构建缓存(编译报错时常用)。
    • ./gradlew clean assembleDebug:清空缓存后重新生成 Debug 包。

三、总结

  1. 核心差异:assembleDebug轻量、针对性 构建(仅 Debug 包),build全量、全覆盖构建(Debug+Release + 测试)。
  2. 版本选择:优先用 ./gradlew(Wrapper)而非全局 gradle,避免版本兼容问题。
  3. 场景适配:日常开发用 assembleDebug(快),发布前验证用 ./gradlew build(全)。
相关推荐
一只特立独行的Yang11 小时前
Android graphics - 框架摘要
android
AC赳赳老秦13 小时前
DeepSeek优化多智能体指令:避免协同冲突,提升自动化流程稳定性
android·大数据·运维·人工智能·自然语言处理·自动化·deepseek
峥嵘life16 小时前
Android16 【CTS】CtsWindowManagerDeviceAnimations存在fail项
android·linux·学习
阿拉斯攀登17 小时前
第 7 篇 安卓驱动开发的灵魂:字符设备驱动框架,从原理到最简实战
android·驱动开发·rk3568·嵌入式驱动·安卓驱动
阿拉斯攀登17 小时前
第 1 篇 入坑不亏!瑞芯微 RK 平台 + 安卓驱动开发,小白全维度扫盲
android·驱动开发·rk3568·嵌入式驱动
Android系统攻城狮18 小时前
Android tinyalsa深度解析之pcm_params_get调用流程与实战(一百六十二)
android·pcm·tinyalsa·android hal·audio hal
zh路西法18 小时前
【C语言简明教程提纲】(四):结构体与文件定义和操作
android·c语言·redis
常利兵18 小时前
Jetpack Compose 1.8 新特性来袭,打造丝滑开发体验
android
牢七19 小时前
百家cms 审计 未完成
android·ide·android studio
hjxu201619 小时前
【 MySQL 速记5】插入
android·数据库·mysql