我的react本机代码使用环境变量来指定它命中的API的URL,因此我可以在react-native js代码中执行以下操作:
const endpoint = process.env['API_URL']
在计算机上运行应用程序时,启动捆绑程序时很容易传入环境变量:
API_URL='http://myapiurl.com' react-native start
但是,当我生成我的发行版APK时,未设置API_URL。
我应该在gradle构建(或其他地方)中对此进行配置,以便为生成的版本apk正确设置API_URL?
答案 0 :(得分:1)
确保将环境变量传递给gradle build命令
API_URL='myapiurl.com' ./gradlew assembleRelease
我建议您研究一下这个项目:
https://github.com/luggit/react-native-config
它允许您指定一个.env文件,以将变量导入代码中。
您甚至可以通过命名文件来指定不同的环境
.env.{environment}
例如
.env.development
.env.production
它还允许您指定捆绑应用程序时使用的环境。
以下是android的示例:
project.ext.envConfigFiles = [
debug: ".env.development",
release: ".env.production",
]
apply from: project(':react-native-config').projectDir.getPath() + "/dotenv.gradle"
这些示例摘自项目的自述文件。