Android BuildConfig:属性值必须为常量

Android BuildConfig:属性值必须为常量,android,gradle,Android,Gradle,我有一个Maven Android项目,我正试图将其转换为Gradle。我正在使用AndroidAnnotations 在Maven项目中,我有以下接口: @Rest(rootUrl = Constants.REST_ROOT_URL, converters = {MappingJackson2HttpMessageConverter.class}) public interface RestClient { //some methods } Constants是一个util类,我在其

我有一个Maven Android项目,我正试图将其转换为Gradle。我正在使用AndroidAnnotations

在Maven项目中,我有以下接口:

@Rest(rootUrl = Constants.REST_ROOT_URL, converters = {MappingJackson2HttpMessageConverter.class})
public interface RestClient {
    //some methods
}
Constants
是一个util类,我在其中存储一些配置最终变量,如REST服务器URL或数据库名称和版本

我在Gradle中发现了
BuildConfig
,我想使用它

我已经将下面的代码放在我的
build.gradle
中,构建正确地创建了字段

 defaultConfig {
        buildConfigField "String", "REST_ROOT_URL", "xxxxxxxxxxxxxx"
    }
问题是当我试图像前面的
常量
类一样使用
BuildConfig

@Rest(rootUrl = BuildConfig.REST_ROOT_URL, converters = {MappingJackson2HttpMessageConverter.class})
public interface RestClient {
    //some methods
}
rootUrl=BuildConfig.REST\u ROOT\u URL
中,我得到了错误:

属性值必须为常量

我做错了什么


谢谢。

问题解决了。我意识到BuildConfig类没有被正确编译,因为我忘记了单引号

defaultConfig {
        buildConfigField "String", "REST_ROOT_URL", '"xxxxxxxxxxxxxx"'
}

解决了。我意识到BuildConfig类没有被正确编译,因为我忘记了单引号

defaultConfig {
        buildConfigField "String", "REST_ROOT_URL", '"xxxxxxxxxxxxxx"'
}