Android gradle全局常量

时间:2017-09-16 19:35:17

标签: java android gradle groovy build

我在Gradle中尝试在每次构建时动态加载远程属性,并使用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(app)中使用applicationId):

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

我尝试使用rootProject.ext,但是在settings.grade中无法访问它。

我尝试创建自定义插件,但是在每个地方都可以访问的唯一方法是在其中创建静态属性并将其加载到settings.gradle中,不知道它是否更好..

在每个.gradle中使用gradle.ext是否合适?它可以工作但也许有更好的解决方案。

THX

1 个答案:

答案 0 :(得分:2)

您可以在build.gradle中添加以下行buildConfigField "boolean", "ISBOOLEAN", "false",如:

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

然后将创建一个名为BuildConfig的新java文件,其中包含您的变量,然后您可以访问您的静态变量。