为什么用户运行gradlew的位置会影响输出?

时间:2016-02-16 19:55:52

标签: android gradle android-gradle build.gradle

如果我有一个目录结构,例如:

/someDir/
    /AndroidStudioProjectDir/

从命令行运行gradlew,如下所示:

/someDir/AndroidStudioProjectDir$ ./gradlew tasks

(即我在运行命令时在someDir / AndroidStudioProjectDir目录中)

然后它会列出几十个任务,包括我自己的任务。但是,如果我像这样运行它:

/someDir$ ./AndroidStudioProjectDir/gradlew tasks

(即现在我在运行命令行时在someDir目录中)

然后它只列出了一些任务(构建设置任务和帮助任务)。

为什么会有不同,具体取决于发出命令的当前位置?

为什么不在projectDir中运行gradlew,就像从一个目录运行projectDir / gradlew一样?

1 个答案:

答案 0 :(得分:0)

这是因为gradle命令在当前目录中查找名为#include "stdafx.h" #include <iostream> DArray<int> generateRandomMatrix(int columns, int rows) { int x, y; DArray<int> matrix = DArray<int>(2, columns, rows); for (y = 0; y < rows; y++) { for (x = 0; x < columns; x++) matrix.set(rand(), x, y); } return matrix; } int main() { int x, y; DArray<int> matrix; do { matrix = generateRandomMatrix(10, 5); for (y = 0; y < 5; y++) { for (x = 0; x < 10; x++) printf("%d", matrix.get(x, y)); } printf("\n\nPress Enter to restart...\n"); getchar(); } while (true); return 0; } 的文件。

您可以找到更多info here

运行命令:

build.gradle

当前目录是/someDir/AndroidStudioProjectDir$ ./gradlew tasks ,其中有android项目定义的/someDir/AndroidStudioProjectDir$脚本。

运行命令:

build.gradle

当前目录为/someDir$ ./AndroidStudioProjectDir/gradlew tasks 。在这种情况下,gradle将找不到build.gradle文件,并且只列出默认任务。