#react-native #gradle #fastlane #android-productflavors #react-native-config
Вопрос:
Используя RN 64.0 и fastlane, у меня есть следующая команда сборки
desc 'Build the Staging Android application.'
lane :build_staging do
gradle(task: 'clean', project_dir: 'android/')
gradle(task: 'assemble', flavor: "staging", build_type: 'release', project_dir: 'android/')
end
В app/build.gradle
я добавил файлы env. config примерно так:
project.ext.envConfigFiles = [
stagingdebug: ".env.staging",
stagingrelease: ".env.staging",
productiondebug: ".env.production",
productionrelease: ".env.production",
]
По какой — то причине, когда я запускаю команду сборки , другими словами fastlane android build_production
, и устанавливаю apk
ее на устройство, файл конфигурации является пустым объектом при использовании из import env from 'react-native-config';
Когда я запускаю npx react-native run-android --variant stagingrelease"
, приложение работает так, как ожидалось, и получает конфигурацию.
Ответ №1:
введение gradle(...)
команды hte env на fastlane сделало свое дело. Ожидаемое поведение состояло в том, что он разрешал правильный файл на основе {{flavor}}{{build type}}
того, что, похоже, не работает с fastlane на данный момент.
Решение:
gradle(task: 'assemble', flavor: "staging", build_type: 'Release', project_dir: 'android/', system_properties: {"ENVFILE": ".env.staging" })