【问题标题】:Android gradle global constantsAndroid gradle 全局常量
【发布时间】:2018-02-25 17:15:18
【问题描述】:

我正在尝试在 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 好吗?它正在工作,但也许有更好的解决方案。

谢谢

【问题讨论】:

    标签: java android gradle groovy build


    【解决方案1】:

    你可以在你的 build.gradle 中添加这一行 buildConfigField "boolean", "ISBOOLEAN", "false"

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

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

    【讨论】:

    • 是的,对于 java 常量,我会这样做,但我希望每个 gradle 文件都有常量。我编辑了我的帖子,我不清楚对不起
    猜你喜欢
    • 2016-05-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多