如何将 System.property 从 Gradle 传递到 Android App?

How to pass System.property to Android App from Gradle?

我希望能够从应用程序中获取系统 属性 作为:

String isTesting = System.getProperty("IS_TESTING");

我曾尝试在 gradle 中使用 -D 标志传递参数,例如 ./gradlew assemble -DIS_TESTING。或者这样做:

task setCustomProp << {
    System.setProperty("IS_TESTING", "true")
}

preBuild.dependsOn setCustomProp

甚至尝试更改 gradle.properties 添加此行:

org.gradle.jvmargs=-DIS_TESTING=true

但是,none 这些尝试的结果是在应用程序代码上获取值。我只是想变得像:

@Override
  public void onCreate() {
    super.onCreate();
    String isTesting = System.getProperty("IS_TESTING");
}

为什么不直接添加:

buildConfigField "boolean", "IS_TESTING", "true" 

至build.gradle。

然后在你的:

@Override
  public void onCreate() {
    super.onCreate();
    boolean isTesting = BuildConfig.IS_TESTING
}