BuildConfig:属性值必须是常量

时间:2015-04-26 11:49:50

标签: android gradle

我有一个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之前的Constants类。

@Rest(rootUrl = BuildConfig.REST_ROOT_URL, converters = {MappingJackson2HttpMessageConverter.class})
public interface RestClient {
    //some methods
}

rootUrl = BuildConfig.REST_ROOT_URL中,我收到错误:

Attribute value must be constant

我做错了什么?

感谢。

1 个答案:

答案 0 :(得分:4)

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

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