You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android Library中Build Config字符串字段配置为何缺少引号?

问题分析与解决

你的Gradle配置问题在于字符串类型的buildConfigField值没有添加转义双引号。

当你用buildConfigField "String", "LIBRARY_VERSION","${version}"时,Gradle会直接把${version}解析后的裸值NW-1.1.6插入到生成的Java代码中,不会自动为字符串类型添加引号,导致生成的代码不符合Java语法规范。

修正后的配置

android {
    ext{
        version = 'NW-1.1.6'
        name = 'Network'
    }
    defaultConfig {
        buildConfigField "String", "LIBRARY_VERSION", "\"${version}\""
    }
}

原理说明

在Groovy(Gradle基于Groovy)中,要在字符串中输出双引号,需要用反斜杠\进行转义。添加\"后,Gradle生成BuildConfig.java时,会将转义后的双引号保留,最终生成符合预期的字符串常量定义:

public static final String LIBRARY_VERSION = "NW-1.1.6";

内容的提问来源于stack exchange,提问作者WISHY

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 23:48:12