gradle wrapper 与 gradle

使用gradle wrapper是gradle官方推荐的build方式,使用gradle wrapper的一个好处就是每个项目可以依赖不同版本的gradle,构建的时候gradle wrapper会帮你自动下载所依赖的版本的gradle。如果你使用gradle build的话,同时你又有多个项目使用不同版本的gradle,那就需要你手动在自己的机器上配置多个版本的gradle,稍微麻烦一些。

关于gradle wrapper的使用文档:https://docs.gradle.org/5.4.1/userguide/gradle_wrapper.html

gradle wrapper工具

gradle wrapper工具主程序是gradlew、gradlew.bat,后者是给Windows平台使用的。

Android Studio默认的gradlew工具位于 /Applications/Android Studio.app/Contents/plugins/android/lib/templates/gradle下面 (以Mac OS系统为例)。 包括文件:gradlew、gradlew.bat、gradle-wrapper.jar、gradle-wrapper.properties

使用gradlew编译工程的时候,gradle包安装这个位置:~/.gradle/wrapper/dists

Android工程中的相关gradle文件

  • gradlew
    • Linux下的shell脚本
  • gradlew.bat
    • Windows下的批处理文件。
  • build.gradle
    • gradle的工程文件,主工程下有一个,每个模块下各有一个
  • gradle.properties
    • 定义了一系列供build.gradle使用的常量,比如keystore的存储路径、keyalias等
  • settings.gradle
    • 主要是导入模块、子模块
  • local.properties
    • 定义了一些本地属性,比如SDK的路径,这个文件不提交代码库

gradlew常见运行参数

./gradlew tasks|列出所有task

./gradlew clean clean项目

./gradlew build 构建项目

./gradlew assembleDebug 编译并打Debug包

./gradlew assembleRelease 编译并打Release的包

./gradlew installRelease Release模式打包并安装

./gradlew installDebug Debug模式打包并安装

./gradlew uninstallRelease 卸载Release模式包

./gradlew uninstallDebug 卸载Debug模式包

参数可以缩写:
1) 字符串不写全,比如clean可以写cle或者clea,只要能唯一定位该字符串;
2) 支持首字母的骆驼命名法,比如assembleDebug缩写为aD