首页 > 解决方案 > 在 gradle 中定义可从任何子模块访问的枚举

问题描述

我有一个包含许多模块的 Android 项目。我定义了枚举

enum Season {
    Summer, Fall, Winter, Spring
}

在主模块中,build.gradle但我无法从任何子模块中访问它build.gradle。有办法吗?

标签: androidgradlegroovyenums

解决方案


我通过一个包含所述枚举结构的文件并将其“包含”在 root build.gradle中使其成为可能:

allprojects {
    apply from: new File(rootDir, 'path/to/file')
}

文件的内容必须以这种方式构造:

def enum SomethingEnum {
    FOO, BAR
}

ext {
    Something = SomethingEnum
}

满足这两个条件后,就可以在子模块的build.gradle Something.FOO中任意位置写入;和往常一样,没有自动完成功能。


推荐阅读