android - 如何从 Gradle 将 System.property 传递给 Android 应用程序?

标签 android gradle android-gradle-plugin

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

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

但是,这些尝试都没有在应用程序代码上获取值。我只是想变得像:

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

最佳答案

为什么不直接添加:

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

构建.gradle。

然后在你的:

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

关于android - 如何从 Gradle 将 System.property 传递给 Android 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57079418/

相关文章:

docker - 如何避免在 Dockerfile 中启动 Gradle 守护进程

gradle - 在运行时动态添加gradle项目

当项目位于 Github 的子文件夹中时,Android Studio 构建错误

android - 有没有一种方法可以在不使用可运行对象的情况下使线程的屏幕无效(更新)

android - 如何将Android应用程序连接到MySQL数据库?

java - 将代码添加到 Bottomnavigtaionview 中的 Fragment 文件

android - Google Play 不允许我更新我的应用

java - 语义分析期间的一般错误 : Unsupported class file major version 57

plugins - Gradle project.sourceSets.main.runtimeClasspath始终为空

android - 如何解决 Android Studio 找不到项目 list 文件的错误?