access environment variable in React-Native AndroidManifest.xml

这一生的挚爱 提交于 2021-02-08 07:40:08

问题


I'm new to React Native. The task at hand is to set my Google API key in AndroidManifest.xml without exposing it, when pushed to GitHub. I set up an environment variable called API_KEY, but however I want to access it in the .xml, I get an error when trying to spin up the dev server.

So far I tried:

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

Thank you!


回答1:


assuming that you have defined the key in your .env file, you can set that up on build.gradle as manifestPlaceholders.

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

on your AndroidManifest.xml,

android:value="${API_KEY}"



回答2:


Based on the second comment (from kenmistry), the solution that worked for me was indeed to create a placeholder in build.gradle, but since, for whatever reason, configuring and referring a .env file did't work, I invoked my environment variables like so in build.gradle:

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

and accessed it in the .xml as suggested by kenmistry:

android:value="${API_KEY}"



回答3:


   => permission   

        <uses-permission android:name="android.permission.INTERNET" />
        <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
        <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>


   put in =>  \android\app\src\main\AndroidManifest  inside    / application   


   <meta-data
    android:name="com.google.android.geo.API_KEY" 
    android:value="Your Google maps API Key Here"/>

https://medium.com/@samil.mehdiyev/integrating-google-maps-in-react-native-app-on-ios-656da9f1e40f



来源:https://stackoverflow.com/questions/58912959/access-environment-variable-in-react-native-androidmanifest-xml

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!