2017-09-16 41 views
1

我想在搖籃到每次構建動態加載遠程性能,並在文件的gradle使用價值:的Android gradle這個全局常量

-settings.gradle 
-build.gradle (project) 
-build.gradle (module : lib) 
-build.gradle (module : app) 

我找到了解決辦法,但我不知道,如果它的最好的一個:

在settings.gradle,我恢復性質類似:

//cfg is a java Properties class (key/value) 
gradle.ext.cfg = Plugin.configureProject("url") 

和我的gradle每個文件(的build.gradle例如用的applicationID(APP))使用這樣的:

applicationId gradle.ext.cfg.get("appId") 

我試過使用rootProject.ext,但它在settings.grade中無法訪問。

我試圖創建自定義插件,但使訪問的唯一途徑的每一個地方是讓靜態屬性內部和settings.gradle加載它,不知道它的更好..

是不是好在每個.gradle中使用gradle.ext?它正在工作,但也許有更好的解決方案。

THX

回答

1

你可以在你的build.gradle加入這一行buildConfigField "boolean", "ISBOOLEAN", "false"這樣的:

buildTypes { 
     release { 
      //some code 
      buildConfigField "boolean", "ISBOOLEAN", "false" 
      //somecode} } 

然後叫BuildConfig一個新的Java文件將包含您的變量來創建,然後您可以訪問靜態變量。

+0

是爲Java常量我這樣做,但我想對每個文件的gradle常量。我編輯我的帖子,我並不清楚對不起 – Lyofen