访问React Native AndroidManifest.xml中的环境变量



我是React Native的新手。手头的任务是在AndroidManifest.xml中设置我的Google API密钥,而不会在推送到GitHub时将其公开。我设置了一个名为API_KEY的环境变量,但我想在.xml中访问它,在尝试启动开发服务器时出错。

到目前为止,我尝试过:

android:value=${env.API_KEY}
android:value="${env.API_KEY}"
android:value="${API_KEY}"

谢谢!

根据第二条注释(来自kenmistry(,对我来说有效的解决方案确实是在build.gradle中创建一个占位符,但由于任何原因,配置和引用.env文件都不起作用,我调用了build.gradle:中的环境变量

manifestPlaceholders = [API_KEY: "$System.env.API_KEY"]

并按照kenmistry:的建议在.xml中访问它

android:value="${API_KEY}"

假设您已经在.env文件中定义了密钥,则可以在build.gradle上将其设置为manifestPlaceholders

android {
defaultConfig {
manifestPlaceholders = [API_KEY: "$process.env.your_key"]
}
...
}

在您的AndroidManifest.xml上,

android:value="${API_KEY}"

对于以上解决方案不适用的其他人,我不得不在android/app/build.gradleandroid.defaultConfig部分下使用以下语法:

manifestPlaceholders = [MY_ENV_VAR:"${System.getenv("MY_ENV_VAR")}"]

然后在CCD_ 6中的CCD_

<meta-data android:name="myEnvVar" android:value="${MY_ENV_VAR}" />

最新更新