android - BuildConfig:属性值必须恒定

标签 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
我究竟做错了什么?

谢谢。

最佳答案

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

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

关于android - BuildConfig:属性值必须恒定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29877225/

相关文章:

java - mac 上的 Android Studio : cant find System compiler

android - Android Studio中的堆大小问题

java - 用拇指保存图像并在 imageView android 上显示

css - Assets 管道最小化为CSS header 添加问号

gradle - 为什么我简单的Exec gradle任务不起作用并且日志不明确?

android - Gradle 构建错误?

android - "Program type already present"是什么意思?

安卓应用 : How to change fragments in Navigation Drawer

android - 如何在 Android style.xml 文件中使用自定义父级?

Android: MapView 绘制具有动态半径的圆(以米为单位)