我有一个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
我做错了什么?
感谢。
答案 0 :(得分:4)
解决。我已经意识到BuildConfig类没有正确编译,因为我忘记了单引号。
defaultConfig {
buildConfigField "String", "REST_ROOT_URL", '"xxxxxxxxxxxxxx"'
}