只有在存在两个环境变量时才需要编写属性文件。我的用例是,如果我正在通过IDE(IntelliJ / Android Studio)运行,则此属性文件由IDE自动生成(并且全局环境变量不可用于IDE),但是从终端编译时我需要自己生成它。
我的问题是我似乎无法禁用任务。这是我的任务:
task createLocalProperties(type: WriteProperties) {
String sdkDir = System.getenv('ANDROID_HOME')
String ndkDir = System.getenv('ANDROID_NDK_HOME')
File propFile = file('../local.properties')
project.logger.info('Creating local.properties')
property('sdk.dir', sdkDir)
property('ndk.dir', ndkDir)
setOutputFile(propFile)
writeProperties()
}
createLocalProperties.onlyIf { !System.getenv('ANDROID_HOME')?.isEmpty() && !System.getenv('ANDROID_NDK_HOME')?.isEmpty() }
用onlyIf
替换false
中的条件仍然运行任务。设置createLocalProperties.enabled false
仍然运行任务。我不确定为什么似乎无法阻止此任务运行。