Gradle 抱怨 "No such file or directory"

Gradle complains "No such file or directory"

我正在使用 Android Studio 和 Gradle 构建脚本。

在我的Android项目的根目录下,有一个名为'other'的文件夹,在'other'文件夹中,有一个属性文件my.properties.

-MyApp/
     …
    -other/
         -my.properties  
    -build.gradle

在我的 build.gradle 中,我尝试访问 my.properties :

task accessMyProperties {
    def folderName = 'other';

    //Gradle complains this line
    def file = new File("$folderName/my.properties");
    ...
}

但是 gradle 抱怨说:

* What went wrong:
A problem occurred evaluating project ':MyApp'.
> other/my.properties (No such file or directory)

为什么gradle会出现上面的错误?如何摆脱它?

在 Gradle 构建脚本中使用纯相对路径时要小心;那些在构建被调用时依赖于工作目录,这不是你应该依赖的东西。将你的路径基于 $projectDir$rootDir 会好得多。尝试这样的事情:

def file = new File("$projectDir/$folderName/my.properties");

有关您可以使用的变量列表,请参阅 http://www.gradle.org/docs/current/dsl/org.gradle.api.Project.html