我正在使用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");
...
}
但格拉德抱怨说:
* What went wrong:
A problem occurred evaluating project ':MyApp'.
> other/my.properties (No such file or directory)
为什么gradle出现上述错误?如何摆脱它?
答案 0 :(得分:6)
在Gradle构建脚本中使用纯相对路径时要小心;那些在调用构建时依赖于工作目录,这不是你应该依赖的东西。最好根据$projectDir
或$rootDir
建立路径。尝试这样的事情:
def file = new File("$projectDir/$folderName/my.properties");
请参阅http://www.gradle.org/docs/current/dsl/org.gradle.api.Project.html以获取可以使用的变量列表。