Могу ли я установить флаг BuildConfig, который возвращает, построена ли apk с помощью задачи `connectedAndroidTest` gradle?

У меня есть части моего приложения, которые я не хочу запускать, если мы запускаем тестовые тесты Android, поэтому я хочу окружить их чем-то вроде

if (!BuildConfig.TESTING) {
  // Code here that I don't want to run during tests.
}

Можно ли заполнить этот флаг BuildConfig в зависимости от того, используется ли задача connectedAndroidTest gradle? Является ли это разумным способом решения этой проблемы?

Ответы

Ответ 1

Это может быть немного поздно, но хорошо. Да, вы можете установить поля BuildConfig через файл приложения gradle, они будут инициализированы во время сборки. Например, я могу сохранить флаг отладки через gradle следующим образом:

buildTypes {
    release {
        buildConfigField "boolean", "debuggable", "false"

    }

    debug {
        buildConfigField "boolean", "debuggable", "true"
    }
}

И сквозной код я мог получить доступ к такому значению:

if (!BuildConfig.debuggable) {
        Log.i(TAG, "Application is not Debuggable");
}