【问题标题】:Add environment variable to product flavor为产品风味添加环境变量
【发布时间】:2020-01-22 12:33:51
【问题描述】:

我想定义一个特定于特定产品风味的环境变量,但我似乎无法让它工作。

我已尝试添加以下内容

buildConfigField "string", "APP_TYPE", "\"demo\""

但我收到错误提示

BuildConfig.java:14: error: cannot find symbol
  public static final string APP_TYPE = "demo";

我的项目是一个 React Native 项目,我希望设置一个可以在 Metro Bundler 中使用的环境变量。

【问题讨论】:

    标签: android android-flavors


    【解决方案1】:

    在 Java 中,String 的大写字母为 S。你的没有,所以生成的代码不会编译。

    所以,切换到:

    buildConfigField "String", "APP_TYPE", "\"demo\""
    

    请注意,这并不是真正的环境变量。如果您的意思是将"\"demo\"" 替换为环境变量的内容,请记住,Android Studio 不会将环境变量公开给其构建,而命令行构建(例如 Gradle)会。

    【讨论】:

    • 感谢您的帮助,希望不是切换“演示”,而是将演示传递到 JS 捆绑器中。同样可以通过执行APP_TYPE=demo react-native run-android来实现。我想知道demo 的值如何因我的口味而异
    • @Dan:在您的 productFlavors 闭包中,每种口味都有一个 buildConfigField 条目。
    • 在每种口味中添加buildConfigField "String", "APP_TYPE", "\"demo\"" 似乎在这里不起作用。在捆绑器中注销process.env 似乎不包含APP_TYPE
    • @Dan: buildConfigField 只在生成的BuildConfig 类型中创建一个字段,在标准Android开发方面。如果它影响到其他任何东西,我会感到惊讶,即使在 React Native 中也是如此。您可能想问一个单独的问题,不带 buildConfigField 部分并带有 React Native 标记,以询问如何在每个风味的基础上影​​响 process.env
    猜你喜欢
    • 2021-02-24
    • 2020-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-07
    相关资源
    最近更新 更多