Есть ли способ настроить gradle для проверки постоянной переменной, такой как DEBUG, в проекте и показать ошибку, если он пытается сделать выпускную версию?
Спасибо
Есть ли способ настроить gradle для проверки постоянной переменной, такой как DEBUG, в проекте и показать ошибку, если он пытается сделать выпускную версию?
Спасибо
BuildConfig.DEBUG
никогда не будет истинным для релизной сборки, так почему бы просто не положиться на это? 21.10.2014 Я бы порекомендовал пойти другим путем. Вместо того, чтобы жестко кодировать другие переменные, а затем вызывать ошибку сборки, если они установлены в сборках выпуска, установите эти переменные в файле сборки и присвойте им разные значения для типов сборки отладки и выпуска. Средством для этого является директива buildConfigField
, и этот механизм устанавливает переменные, которые действуют как BuildConfig.DEBUG
.
Вы можете сделать что-то подобное в файле build.gradle вашего модуля:
buildTypes {
debug {
buildConfigField "String", "MY_CONSTANT", '"debugValue"'
}
release {
buildConfigField "String", "MY_CONSTANT", '"releaseValue"'
}
}
Это добавит BuildConfig.MY_CONSTANT
со значением "debugValue" для отладочных сборок и "releaseValue" для выпуска.
Если вы хотите иметь различное поведение в сборках отладки и выпуска, в своем коде вы можете использовать условные выражения для BuildConfig.DEBUG
или для ваших констант:
if (BuildConfig.DEBUG) {
// Do something here only for debug builds
}
и т.п.
Обратите внимание: если вы действительно не хотите устанавливать свои переменные в файле сборки, вы можете использовать этот условный шаблон для инициализации глобальных статических переменных прямо в коде:
if (BuildConfig.DEBUG) {
sGlobalVariable = "debug";
}