使用构建类型为不同环境构建APK
我正在用这篇文章来构建我的apk,而不是android studio。除了在gradle中使用环境变量外,其他一切都正常:
在构建之前,我设置了环境变量
export MY_API_TOKEN="ABCDEFGH"
然后在我的build.gradle:
buildTypes {
debug {
buildConfigField("String", "MY_API_TOKEN", System.getenv('MY_API_TOKEN'))
}
}
当我执行:gradle assemble时,我得到一个错误:
/home/apps/app/src/main/java/com/my/package/controller/api/MyAwesomeCode.java:64: error: cannot find symbol
BuildConfig.MY_API_TOKEN;
^
symbol: variable BuildConfig
location: class RestAPI
/home/apps/app/build/generated/source/buildConfig/debug/com/my/package/BuildConfig.java:14: error: cannot find symbol
public static final String MY_API_TOKEN = ABCDEFGH;
^
symbol: variable ABCDEFGH
location: class BuildConfig
我尝试了几种组合,但得到了相同的错误:
我还用html" target="_blank">变量验证了同样的行为
def MY_API_TOKEN_VAR = "ABCDEFGH"
debug {
buildConfigField "String", "MY_API_TOKEN", MY_API_TOKEN_VAR
}
错误:
BuildConfig.java:14: error: cannot find symbol
public static final String MY_API_TOKEN = ABCDEFGH;
^
symbol: variable ABCDEFGH
location: class BuildConfig
buildTypes仅适用于build中的硬编码值。格拉德尔?
应使用转义引号中的字段值声明字符串类型的BuildConfig字段值:
android {
...
defaultConfig {
...
def MY_API_TOKEN_VAR = "ABCDEFGH"
buildConfigField "String", "MY_API_TOKEN", "\"ABCDEFGH\""
}
...
}
使用系统环境变量:
android {
...
defaultConfig {
...
def MY_API_TOKEN_VAR = System.getenv('MY_API_TOKEN')
buildConfigField "String", "MY_API_TOKEN", "\"ABCDEFGH\""
}
...
}
如果不在转义引号中声明字段值,则可以在生成的BuildConfig
中看到语法错误:
public final class BuildConfig {
// ...
// Fields from build type: debug
public static final String MY_API_TOKEN = ABCD; // Should be "ABCD"
}
我试图将我们的Android应用程序转换为gradle构建。我有这个项目,它的图书馆建设成功。我现在试图为我们的各种环境创建单独的apks(dev/test/prod对他们使用的restful服务有不同的网址)。 在四处搜索时,我觉得最好的方法是为每个环境制作不同的BuildConfig。这就是我所尝试的: 问题是,我的BuildConfig.java似乎没有注入静态变量,因此我得到类似于以下错误
假设我有一个使用CustomObject列表的API操作。对于这些对象中的每一个,它都会调用一个创建Mono的服务方法。如何以一种惯用的无阻塞方式从这些单一对象创建流量? 我现在想到的是这个。我更改了方法名称,以更好地反映它们的预期目的。 此外,我需要订阅通量才能真正让它返回一些东西吗?
本文向大家介绍如何从JavaScript中的变量值创建对象属性?,包括了如何从JavaScript中的变量值创建对象属性?的使用技巧和注意事项,需要的朋友参考一下 JS有2种用于创建对象属性的符号,即点符号和方括号符号。 要从变量创建对象属性,您需要通过以下方式使用方括号表示法- 示例 输出结果 这将给出输出- ES6引入了计算属性名称,您可以执行以下操作: 示例 输出结果 这将给出输出-
主类:
测试变量的常用方法是检查它是否引用singletone: 根据PEP-8,建议将此方法作为检查的唯一方法: 与None之类的单例进行比较时,应始终使用is或is,永远不要使用相等运算符。 虽然有时我发现以下测试在不同的来源: 这种方式看起来不错,但是我不太明白为什么简单易读的结构可以被所取代。它在某些情况下更有用,还是指代码风格? UPD:使用我发现非常有用(到目前为止):
我可以创建std::数组: 它很好用。但我无法创建向量: 这给了我一个错误: