String type build config fields should be declared like this:
buildConfigField "String", "SERVER_URL", "\"http://dev.myserver.com\""
the field name in quotes, the field value in escaped quotes additionally.
ID : 20356
viewed : 6
Tags : androidandroid-gradle-pluginandroid
94
String type build config fields should be declared like this:
buildConfigField "String", "SERVER_URL", "\"http://dev.myserver.com\""
the field name in quotes, the field value in escaped quotes additionally.
86
Why everybody is so mad about escaping double quotes? Looks ugly! This is Groovy, guys, you can just mix single and double quotes:
buildConfigField "String", 'SERVER_URL', '"http://dev.myserver.com"' buildConfigField "String", 'APP_VERSION', '"0.0.1"'
79
If by "resolving the issues" you mean not having to double quote literals, I haven't come across anything as it seems to be working as designed.
I've been experimenting with moving the literals into "gradle.properties" as a workaround, turning potentially multiple ugly lines into one ugly line.
Like so:
buildTypes { def SERVER_URL = "SERVER_URL" def APP_VERSION = "APP_VERSION" def CONFIG = { k -> "\"${project.properties.get(k)}\"" } debug { buildConfigField "String", SERVER_URL, CONFIG("debug.server.url") buildConfigField "String", APP_VERSION, CONFIG("version") } release { buildConfigField "String", SERVER_URL, CONFIG("release.server.url") buildConfigField "String", APP_VERSION, CONFIG("version") minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } }
gradle.properties
version=0.1.1 ... debug.server.url=http://dev.myserver.com ... release.server.url=http://myserver.com ...
Further thoughts:
def CONFIG = { b,k -> "\"${project.properties.get(b+'.'+k)}\"" } def CONFIG_DEBUG = { k -> CONFIG('debug',k) } def CONFIG_RELEASE = { k -> CONFIG('release',k) }
def CONFIG = { b,k -> "\"${project.properties.get(b+'.'+k)}\"" } def CONFIG_INT = { b,k -> "${project.properties.get(b+'.'+k)}" } ...
69
54
Escape your string quotes:
buildConfigField "String", 'SERVER_URL', "\"http://dev.myserver.com\"" buildConfigField "String", 'APP_VERSION', "\"0.0.1\""