我是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.gradle
的android.defaultConfig
部分下使用以下语法:
manifestPlaceholders = [MY_ENV_VAR:"${System.getenv("MY_ENV_VAR")}"]
然后在CCD_ 6中的CCD_
<meta-data android:name="myEnvVar" android:value="${MY_ENV_VAR}" />