java - Android Gradle 全局常量

标签 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 好吗?它有效,但也许有更好的解决方案。

谢谢

最佳答案

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

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

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

关于java - Android Gradle 全局常量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46257747/

相关文章:

java - 升级到 react-native 版本 0.60.4 后 react-native run-android 出错

java - 将struts web项目升级到java 1.7

java - 执行线程是否通过同时执行 wait() 和 join() 进入 "waiting"状态?

gradle - jacocoRootReport仅显示多项目gradle构建的最后一个项目的覆盖范围

java - gradle 依赖如何找到包?

java - 上传值时 FireBase 数据库异常

java - 在没有特定属性的情况下访问对象中模型的值

java - 每次调用方法时 ArrayList 都会重新初始化

android - 使用 AWS SNS 的 Firebase 云消息传递

android - 如何取消闹钟?