我尝试在 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/