【发布时间】:2018-03-07 21:55:18
【问题描述】:
我正在构建一个 react-native 项目,并使用 react-native-config 库在暂存环境和生产环境之间切换。我在单独的 .env 文件(.env.dev、.env.staging、.env.prod)中定义了我的环境,并且在我的 package.json 中定义了以下 npm 脚本
"scripts": {
"android-dev": "ENVFILE=.env.dev react-native run-android",
"android-staging": "ENVFILE=.env.staging react-native run-android",
"android-prod": "ENVFILE=.env.prod react-native run-android",
"android-release": "react-native run-android --variant=release",
"build-android-staging": "export ENVFILE=.env.staging && cd android && ./gradlew assembleRelease && cd ..",
"build-android-prod": "export ENVFILE=.env.prod && cd android && ./gradlew assembleRelease && cd .."
}
在我的 build.gradle 中,我放置了以下内容
project.ext.envConfigFiles = [
debug: ".env.staging",
release: ".env.prod",
anycustombuildlowercase: ".env.staging",
]
我认为脚本和 build.gradle 代码之间存在冲突,因为当我运行 npm run build-android-staging 时,它会在生产环境中构建发布。如果我删除 build.gradle 中的代码并调用 api,我会收到 Fatal Exception: java.lang.IllegalArgumentException
unexpected url: undefinedapi/ 错误。我需要更改哪些内容才能让我的构建脚本在正确的环境中工作?
【问题讨论】:
标签: android node.js react-native react-native-android