【问题标题】:How to keep the code consistent between debug and release version with LeakCanary如何使用 LeakCanary 保持调试版本和发布版本之间的代码一致
【发布时间】:2020-09-24 01:47:56
【问题描述】:

当我在 2.4 版中使用 LeakCanary 时,它会删除 leakcanary-android-no-op 工件。 但是在代码中,要避免一些泄漏报告。我使用这样的代码:

LeakCanary.config = LeakCanary.config.copy(
  referenceMatchers = AndroidReferenceMatchers.appDefaults +
      AndroidReferenceMatchers.ignoredInstanceField(
          className = "com.temp.view.DeleteableEditText",
              fieldName = "mContext"
      )
)

它还导入了一些东西import leakcanary.LeakCanaryimport shark.AndroidReferenceMatchers。所以它会编译发布代码中的错误。

如果我想编译发布代码,我应该删除我上面的​​代码。我想知道是否有任何方法可以帮助我在调试版本和发布版本之间保持相同的代码

顺便说一句,我尝试使用Implementation "com.squareup.leakcanary:leakcanary-android:2.4",但作为 LeakCanary 的提示

我们不建议在发布版本中包含 LeakCanary,因为它可能会对您客户的体验产生负面影响。为避免在发布版本中意外包含 com.squareup.leakcanary:leakcanary-android 依赖项,如果 APK 不可调试,LeakCanary 会在初始化期间崩溃。

所以我不想在发布版本中运行 LeakCanary。

【问题讨论】:

    标签: android leakcanary


    【解决方案1】:

    配置debug variant,添加调试源并创建配置LeakCanary 的调试应用程序类。

    【讨论】:

    • 你能给我演示一下如何构建一个不能在发布版本中运行的调试类吗,谢谢
    猜你喜欢
    • 2011-12-15
    • 1970-01-01
    • 1970-01-01
    • 2010-10-27
    • 2020-08-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多