java - Android - 依赖和代码分离(调试/发布版本)

标签 java android gradle

我的 android 应用程序中有一些代码,我打算只保留在调试版本中。

我知道这种方法:

if (BuildConfig.DEBUG) {
    //code here
}

但是,问题是我的代码依赖于外部依赖项,我也希望仅在调试版本中保留这些依赖项:

debugCompile "dependency1"

//this wont compile in release mode
if (BuildConfig.DEBUG) {
    //code which references dependency1 
}

鉴于java没有条件编译,除了每次手动注释掉代码块(这显然是一个巨大的麻烦)之外,还有什么解决办法吗?

编辑: 叶戈尔 pointed我朝着正确的方向前进,在对“源集”进行了更多研究之后,我找到了一个答案,它准确地描述了我的情况并提供了一个很好的解决方案:https://stackoverflow.com/a/31483962/5790273

最佳答案

将您只想在 Debug模式下编译的代码放在“src/debug/java”下,如here所述. Gradle 允许您针对每种构建类型和风格使用多个源集,并且只会编译那些与构建配置相关的源集。

关于java - Android - 依赖和代码分离(调试/发布版本),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39097257/

相关文章:

java - IntelliJ IDEA - 错误 : JavaFX runtime components are missing,,需要运行此应用程序

Java 对象作为监视器澄清

java - ZK 日期框与 java.time

android - 在没有互联网的情况下在多部手机之间传输数据的好方法(现有)是什么?

java - 使用来自 java 8 的 cacerts 更新 java 6

android - Android Lollipop 中应用程序外部配置文件和内部配置文件之间的数据传输

android - 如何查找每行的 android TextView 字符数?

properties - Gradle中任务的分组/继承属性

spring - gradle持续构建支持SpringBoot吗?

ios - 在 Xcode 10 升级后运行 createIPA 任务