gradle忽略FileNotFoundException以获取属性文件

时间:2018-05-09 05:51:43

标签: android gradle android-gradle build.gradle

通过在.properties中引用关于build.gradle加载的the code,我想知道在文件不存在时如何忽略。

目前,build.gradle以下文件会引发FileNotFound异常,无法继续编译。

def Properties properties = new Properties()
try{
    properties.load(project.rootProject.file("developer.properties").newDataInputStream())
}

android {
    defaultConfig {
        buildConfigField 'boolean', 'PrintLog', properties.getOrDefault("print.log", "false")
    }
}

我想要的是编译是否存在developer.properties。我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:1)

您可以使用简单的try-catch块来实现它,如下所示:

android {
    ....
    def developerPropertiesFile = file(getRootDir().getPath() + '\\developer.properties')
    def developerProperties = new Properties()
    try {
        developerProperties.load(new FileInputStream(developerPropertiesFile))
    } catch (FileNotFoundException e) {
        developerPropertiesFile = null;
    }
    ...
}

使用前,您可以查看:

if (developerPropertiesFile != null) {
     ...
 }