2015-10-05 66 views
3

我们在项目的Github页面上声明了我们的漏洞 - 依赖关系。找不到符号类AndroidExcludedRefs,DisplayLeakService,

debugCompile 'com.squareup.leakcanary:leakcanary-android:1.3.1' 
releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.3.1' 

到目前为止,事情工作正常。现在我们就开始排除已知泄漏这样的:

ExcludedRefs.Builder excludedRefsBuilder = AndroidExcludedRefs.createAppDefaults(); 
excludedRefsBuilder.staticField("com.google.android.chimera.container.a", "a"); 
refWatcher = LeakCanary.install(app, DisplayLeakService.class, excludedRefsBuilder.build()); 

现在,当我们切换到发布版本的类型,比如AndroidExcludedRefs,DisplayLeakService和ExcludedRefs类不再被发现,作为“无操作”依赖没有按”包括他们。

什么是处理这个最好的方法是什么?

+0

你有没有找到解决办法? – pandre

回答

1

我们的LeakCanary设置在我们的类DevToolsController中实现。为了解决这个问题,我们把默认的实现放到“debug”源文件夹中,并把“no-op”实现放到“release”源文件夹中。

+1

它让你想知道为什么有一个no-op lib,因为我们可以将实际的调用放在这些调试/释放文件夹中以便将它们排除/排除。 – xorgate