如果我有一个目录结构,例如:
/someDir/
/AndroidStudioProjectDir/
从命令行运行gradlew,如下所示:
/someDir/AndroidStudioProjectDir$ ./gradlew tasks
(即我在运行命令时在someDir / AndroidStudioProjectDir目录中)
然后它会列出几十个任务,包括我自己的任务。但是,如果我像这样运行它:
/someDir$ ./AndroidStudioProjectDir/gradlew tasks
(即现在我在运行命令行时在someDir目录中)
然后它只列出了一些任务(构建设置任务和帮助任务)。
为什么会有不同,具体取决于发出命令的当前位置?
为什么不在projectDir中运行gradlew,就像从一个目录运行projectDir / gradlew一样?
答案 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文件,并且只列出默认任务。