2014-10-07 26 views
3

我跟着類似於這些說明:是Android Gradle DSL的isReleaseBuild()部分嗎?

Android Library Gradle release JAR

不過,我得到以下錯誤:

Could not find method isReleaseBuild() for arguments [] on project ':myProject'.

的我Maven的集成看到的例子沒有定義此功能,所以我認爲它是內置的。但是,我發現Gradle 1.12和2.1以及Android插件0.12。+和0.13這個錯誤。+

如果它不是內置函數,那麼定義它的最佳做法是什麼?

回答

1

不是。它是用戶定義的,但似乎滲透了示例,因爲大量的Gradle示例被複制。

這是我最終定義它的方式,以便我可以在命令行上傳遞-PMAVEN_RELEASE_BUILD來打開發布版本。

def isReleaseBuild() { 
    return hasProperty("MAVEN_RELEASE_BUILD") && MAVEN_RELEASE_BUILD == "true"; 
} 

有些人還喜歡定義以-SNAPSHOT結尾的版本名稱。我不喜歡這樣做,因爲我希望能夠選擇是否在不檢查對gradle.properties的更改的情況下構建版本或調試版本。

def isReleaseBuild() { 
    return !VERSION_NAME.contains("SNAPSHOT"); 
} 
相關問題