我有一个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
我究竟做错了什么?
谢谢。
最佳答案
解决了。我意识到BuildConfig类没有正确编译,因为我忘记了单引号。
defaultConfig {
buildConfigField "String", "REST_ROOT_URL", '"xxxxxxxxxxxxxx"'
}
关于android - BuildConfig:属性值必须恒定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29877225/