187

我有一个多模块 gradle 构建。我想使用 root 执行一个模块的目标。前任 :

gradle build -Pmodule=ABC
gradle jar -Pmodule=ABC
gradle test -Pmodule=ABC
gradle compileJava -Pmodule=ABC
gradle customTask -Pmodule=ABC
etc.

因此,每个目标都可以从指定模块的根目录运行。有没有一种简单的方法可以做到这一点?

谢谢 !

4

5 回答 5

376

要执行特定子项目的任务,请指定其任务路径。例如:

gradle :ABC:build

前导:代表根项目。ABC是子项目,也是该项目中build的一个任务。

于 2013-06-07T15:06:54.687 回答
99

找到了一个快速的方法

gradle build -p moduleA

moduleA 是模块的目录。

上面的命令构建 amoduleA及其所有子模块,并且moduleA应该是它的路径

于 2013-06-07T10:11:04.243 回答
36

在 Mac OS 上,唯一与我合作的变体:

./gradlew  ABC:build

ABC是模块的名称

(它也可能在 Linux 上工作)

于 2017-04-21T12:16:47.470 回答
9

在此处输入图像描述

如果您的 IDE 是 Android Studio,有一个简单的方法。只需选择您要编译的模块文件夹,然后单击 Build 并选择 Make Module 'your module folder'。

于 2017-01-25T03:20:11.730 回答
1

Android Studio中,如果您需要生成签名包或 apk,您可以在模块选择字段中选择需要的模块:构建 > 生成签名包或 APK > 选择 Android App Bundle 或 APK > 模块

选择

于 2021-10-06T14:00:03.837 回答