React native 使用.env变量在react本机应用程序上设置appcenter

React native 使用.env变量在react本机应用程序上设置appcenter,react-native,environment-variables,visual-studio-app-center,react-native-config,React Native,Environment Variables,Visual Studio App Center,React Native Config,我开始在我的bare react本机应用程序中使用,在设置过程中,他们要求我向项目添加两个新文件: 对于IOS:AppCenter-Config.plist AppSecret 对于Android,我需要添加一个带密钥的JSON文件: { “应用程序机密”:” } 我已经在应用程序中使用包来处理.env文件: 为了从ENV变量获取appcenter配置文件的APP\u SECRET,是否有任何方法可以使用此软件包或其他软件包 我只是不想将这些密钥置于版本控制之下。Appcenter允许我们

我开始在我的bare react本机应用程序中使用,在设置过程中,他们要求我向项目添加两个新文件:

  • 对于IOS:AppCenter-Config.plist
  • 
    AppSecret
    
  • 对于Android,我需要添加一个带密钥的JSON文件:
  • {
    “应用程序机密”:”
    }
    
    我已经在应用程序中使用包来处理.env文件:

    为了从ENV变量获取appcenter配置文件的
    APP\u SECRET
    ,是否有任何方法可以使用此软件包或其他软件包


    我只是不想将这些密钥置于版本控制之下。

    Appcenter允许我们使用构建脚本,您可以在此处查看更多详细信息:

    我找到的解决方法是使用克隆后脚本。您需要在应用程序的根文件夹上创建一个bash脚本,该脚本将使用环境变量写入
    .env
    文件

    首先,创建一个名为
    appcenter post clone.sh
    的新文件

    在编写.env文件后,可以使用以下内容:

    #!/usr/bin/env bash
    
    echo "Creating .env file"
    cat > ./.env <<EOL
    API_URL=${API_URL}
    API_KEY=${API_KEY}
    EOL
    
    #/usr/bin/env bash
    echo“创建.env文件”
    cat>/.env已找到-应用程序机密(名称有点混乱)仅用于检查应用程序更新-似乎您无法使用它触发发布。

    因此,我认为没有必要将机密移到.env文件。

    这就是您想要做的吗?配置变量可以通过
    BuildConfig
    在java类中使用,但Android的配置文件是JSON文件,而不是java类。对于IOS也是一样,文件是.plist。如何在那里应用ENV变量?@Victor你找到解决方案了吗?@JacekRojek是的,我刚刚发布了一个答案,希望它能帮助你我们在项目中使用了类似的方法。但这对我来说也很好。值得更多的升级投票。您不是每次运行bash文件时都在.env文件中反复添加相同的行吗?
     {
        "app_secret": "<MY_SECRET_KEY>"
     }
    
    #!/usr/bin/env bash
    
    echo "Creating .env file"
    cat > ./.env <<EOL
    API_URL=${API_URL}
    API_KEY=${API_KEY}
    EOL