Ответ 1
Gradle генерирует класс с именем BuildConfig
, который содержит статические члены (такие как boolean DEBUG
, для которых заданы значения true для вариантов отладки).
Вы можете запросить это в java следующим образом:
if (BuildConfig.DEBUG) {
BASE_URL = "http://debug.server.com"
} else {
BASE_URL = "http://release.server.com"
}
или то же самое, что и однострочный:
BASE_URL = BuildConfig.DEBUG ? "http://debug.server.com" : "http://release.server.com"
ИЛИ
Фактически вы можете установить BASE_URL
внутри класса BuildConfig
с помощью gradle следующим образом:
android {
buildTypes {
debug {
buildConfigField "String", "BASE_URL", '"http://debug.server.com"'
}
release {
buildConfigField "String", "BASE_URL", '"http://release.server.com"'
}
}
}
Обратите внимание на одиночные и двойные кавычки вокруг значения в gradle, как это отмечалось в комментариях к другим. Таким образом, двойные кавычки становятся частью значения.
В результате статическая ссылка BuildConfig.BASE_URL
будет указывать на соответствующий URL-адрес (то есть "debug.server.com" для debug, "release.server.com" для выпуска)