17

如果我们正在运行 Android 单元测试,我不想运行我的应用程序的某些部分,所以我想用类似的东西包围它们

if (!BuildConfig.TESTING) {
  // Code here that I don't want to run during tests.
}

BuildConfig是否可以根据是否使用connectedAndroidTestgradle 任务来填充此标志?这是解决这个问题的明智方法吗?

4

1 回答 1

0

这可能有点晚了,但好吧。是的,您可以BuildConfig通过应用程序的 gradle 文件设置字段,这些字段将在构建时初始化。例如,我可以像这样通过 gradle 保存调试标志:

buildTypes {
    release {
        buildConfigField "boolean", "debuggable", "false"

    }

    debug {
        buildConfigField "boolean", "debuggable", "true"
    }
}

通过代码我可以像这样访问值:

if (!BuildConfig.debuggable) {
        Log.i(TAG, "Application is not Debuggable");
}
于 2017-10-26T10:13:15.687 回答