最近,我开始了解Gradle作为构建系统的强大功能,作为一名Android开发人员,我想深入了解它。
One article表示以下内容:
您可以使用the Gradle wrapper命令行工具来执行Android项目可用的所有构建任务。它以批处理文件(gradlew.bat
)和shell脚本(gradlew.sh
)的形式提供给Windows和Mac,并且可以从您使用Android Studio创建的每个项目的根目录访问。
若要使用 Package 函数执行工作,请使用下列其中一个命令:
- 在Windows上:
gradlew task-name
现在我有一些疑问,大致如下:
1.什么是Gradle Package 器和gradlew.bat
?
1.如果我安装了Android Studio,并且它使用Gradle构建我的应用程序(所以gradle已经安装在我的系统上了),我还需要从命令行安装gradle进行构建吗?当我在命令行上写入任何命令(如gradle
,gradlew
)时,我会收到错误消息gradlew is not recognized as internal or external command
(其他命令也出现同样的错误)。我可能在错误的路径上使用它,请帮助我了解我需要在什么路径上使用Gradle相关命令?
1.如果我需要下载并安装它,我如何以及在哪里可以找到该文件?以及其他过程?
我使用的是Windows机器。
3条答案
按热度按时间b1zrtrql1#
Gradle Wrapper是Gradle构建系统的可选部分,由四个文件组成,您可以将其签入版本控制系统。Unix启动脚本
<your root project>/gradlew
、<your root project>/gradlew.bat
Windows启动脚本、<your root project>/gradle/wrapper/gradle-wrapper.jar
(包含 Package 器的类文件,由启动脚本启动)和<your root project>/gradle/wrapper/gradle-wrapper.properties
(包含 Package 器的一些配置)。例如,使用哪个Gradle版本来构建项目。在我看来,每个Gradle项目,即使是最小的项目,都应该使用Gradle Package 器。
Gradle Package 器可确保您的构建始终使用相同的Gradle版本运行,无论构建由谁执行,无论在何处执行,也无论是否安装了Gradle,只要使用Gradle Package 器构建项目即可。这意味着您可以针对该Gradle版本设计构建,并确保构建不会失败。这也是构建可重复性的重要一步。
此外,希望构建您的项目的用户只需要安装Java即可。他不需要安装任何Gradle版本。实际上,任何已安装的Gradle版本都将被忽略。Gradle Package 器会检查
~/.gradle/
中是否已存在构建所需的版本,因为任何项目的某些Gradle Package 器已将其放置在那里。如果已存在,则会使用该版本。否则将自动下载。如果您在命令行上键入
gradlew
,但找不到该命令,则意味着您没有将根项目路径放入PATH环境变量中(我也不建议这样做),您当前也不在根项目目录中。要运行Gradle构建,您必须在项目中的任何位置调用Gradle或Gradle Package 器。但是与不在路径上的任何可执行文件一样,当然你必须提供它的路径,所以如果你在你的根项目目录下,你可以简单地执行gradlew
,如果你在<root project dir>/foo/bar/
下,你需要调用../../gradlew
。Gradle Wrapper文件由隐式可用的Gradle任务
wrapper
生成,然后签入到相关项目的VCS中。如果某个项目不存在这四个文件,则它不会使用Gradle Package 器,您应该向该项目发布改进请求以添加它。如果某个项目不使用Gradle Package 器,而是使用Gradle进行构建,您可以安装Gradle并使用
gradle
而不是gradlew
,或者您甚至可以调用磁盘上可用的任何其他项目的Gradle Package 器。然后,构建将使用 Package 器或Gradle安装所使用的Gradle版本运行,因此可能无法按预期运行。这就是为什么每个项目在使用Gradle时都应该使用 Package 器的原因。piah890a2#
评论后编辑
Gradle是一个构建系统。
这个gradle-wrapper是构建Android项目的主要接口,它是Gradle-build-system的一部分,主要检查是否安装了gradle。
gradlew.bat
-它是Windows上使用的batch file。您甚至可以用记事本打开它来查看其中的说明。批处理文件就像是写在文件中要执行的“命令”。您可以使用它(在Windows的情况下)来执行构建命令。它还检查是否安装了gradle。如果没有安装,它会下载并安装它。示例:在Windows上构建Android应用程序:
gradlew.bat assembleDebug
它会启动 Package 器,检查是否安装了Gradle,并执行所有“gradle特定”命令来构建您的项目。
您需要安装Gradle吗?
实际上,没有。这是gradlew脚本的工作,以检查。如果gradle它还没有,它会自动下载它,并使用它的所有后续建设。
r55awzrz3#
1.如果您已经安装了Android Studio,那么您已经安装了Gradle,可以开始使用了。(从技术上讲,每个项目都有自己的 Package 器来处理安装/使用Gradle)
1.正如我上面提到的,你可以走了。
最后,Gradle是一个命令行工具,您可以使用它来构建您的项目,您也可以直接使用它(尽管您不必这样做),因为Android Studio正是使用它来构建您的项目。