Как различить тестовую и продовскую сборку для android-приложения

Во время тестовых сборок, инструментального тестирования и прочих подобных задач от приложения требуется дополнительные возможности в части сообщения своего внутреннего состояния или быстрой смены различных параметров (к примеру переключение между тестовым и продовским сервером). Этот функционал, естественно, не должен попадать в релиз приложения. Т.е. нам нужно каким-либо образом убирать или отключать куски кода в приложении.

Убирать куски кода мы можем с помощью gradle. Или же в код вставить проверку на то, в каком режиме работает приложение. Собственно сборка может быть или отладочной или промышленной. И подписываются они каждая своим ключом, таким образом задача сводится к тривиальной — определить каким ключом подписан apk-файл приложения.

Хотя я предпочитаю использовать более простой вариант. При сборке приложения компилятор так же указывает в каком режиме собрано приложение и проверить мы это можем вот таким образом:

Ну и затем на основании вычисленного флага уже можно легко управлять поведением приложения, прятать/показывать кнопки и отладочные окна.