前言
最近在跑grpc官方示例程序的时候,用到了在命令行中使用gradle编译生成代码。对gradle和gradlew做了一些了解。
gradle
现在android项目普遍使用androidstudio进行开发,项目的构建和编译都用到了gradle,那么gradle是什么呢?
gradle是一款开源的构建自动化工具,我们可以使用gradle构建项目,编写插件等。
更多了解可以参阅what_is_gradle
gradlew
了解了gradle,那么什么是gradlew呢?gradlew全称gradle wapper,gradle wapper相当于gradle的包装(类似包装类,我们输入相关gradlew命令,实际执行还是本地的gradle命令)。
android项目中都有一个gradle文件夹,里面包含一个jar和一个gradle-wrapper.properties文件。
gradle-wrapper.properties里面是这样的:
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.1-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
其中distributionUrl指定了项目构建需要下载的gradle url及对应版本。
这样做的好处是,可以统一项目的gradle版本,每个项目从远程仓库拉取到每个不同开发人员的电脑上时,可以使用相同的gradle构建环境。
常用命令
- 执行tast
gradle :myTask
- buid
gradle build
- clean
gradle clean
- 安装debug包
gradle installDebug
- app build
gradle app:build
- app clean
gradle app:clean
以上命令也可以通过gradlew来执行。
更多关于gradle的使用可以参阅官方文档 https://docs.gradle.org/