Был ли отдельный сборочный центр

Ответ

Да, в Android есть понятие Build Variants и Flavors, которые позволяют настраивать разные версии приложения (например, dev, staging, prod).

Пример в build.gradle:

android {
    flavorDimensions "environment"
    productFlavors {
        dev {
            dimension "environment"
            applicationIdSuffix ".dev"
        }
        prod {
            dimension "environment"
        }
    }
}

Можно собирать разные версии через Build Variants в Android Studio или командой:

./gradlew assembleDevDebug

Ответ 18+ 🔞

А, ну это про сборки в Андроиде, ебать мои старые костыли! Слушай, тут всё просто, как палка. Есть у них такая штука — Build Variants и Flavors. Это чтобы не городить огород из трёх отдельных проектов, когда тебе нужна dev-версия, staging и уже боевая prod.

Представь, ты делаешь приложение. Для теста нужно, чтобы оно к тестовому серверу ходило, апатька applicationId другой был, и логов овердохуища. А для прода — всё строго, минимум телеметрии. Так вот, flavors — это как раз такие профили. Не нужно копировать весь проект, просто в конфиге прописываешь отличия. Гениально же, ёпта!

Смотри, как это в build.gradle выглядит. Всё по-взрослому:

android {
    flavorDimensions "environment" // Это типа группа, куда наши версии попадут
    productFlavors {
        dev { // Вот наш dev-флейвор, для разработки
            dimension "environment" // Говорим, что он из группы "environment"
            applicationIdSuffix ".dev" // К основному applicationId добавится ".dev". Удобно, можно и dev, и prod на одном телефоне держать.
        }
        prod { // А это уже боевой
            dimension "environment"
            // Тут можно, например, minifyEnabled true включить, чтоб код сжимался
        }
    }
}

Вот и вся магия. Создал два флейвора — dev и prod. Теперь в студии, в углу, где обычно app, у тебя появятся варианты сборки: devDebug, devRelease, prodDebug, prodRelease. Выбираешь devDebug — собирается отладочная dev-версия. Выбрал prodRelease — собирается релизная боевая версия. Красота, ядрёна вошь!

А если через консоль, то команды вот такие:

./gradlew assembleDevDebug

Или assembleProdRelease. Собрал — и сиди, радуйся. Не нужно руками конфиги менять и ошибаться, где тестовый API-ключ в продакшен засунуть. Всё автоматически подтянется в зависимости от выбранного флейвора. Удивление пиздец, как же раньше без этого жили-то?