leakcanary-android 2.0使用极其遇到的问题

1,033 阅读1分钟

使用

这个版本的leakcanary使用特别简单,只需要添加以下依赖即可。什么都不需要操作,不需要像之前的版本要在application里面进行初始化。如果没有什么特殊的需求,只需要以下依赖即可,就是这么神奇,至于原理什么的可看官网。还可以配置一些特殊的选项,比如错误发到服务器什么的,具体可看官网。leakcanary官网

dependencies {
  // debugImplementation because LeakCanary should only run in debug builds.
  debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.0-beta-3'
}

使用中遇到的问题

当我添加依赖时,点击运行,报了一下错误

Unable to get provider leakcanary.internal.LeakCanaryFileProvider

我在leakcanary的GitHub上提了一个issue,后来有一位基友跟我遇到了同样的问题,原来是我们都使用了aspectjxAOP 。所以只需要在app.build中添加如下代码:

aspectjx {
exclude 'com.squareup.leakcanary'
}
dependencies {
//其他依赖
}

接着Clean Project -> Rebuild Project,或者invalidate cache/restart即可。非常感谢这位基友。

还有一个问题,如果有依赖了之前leakcanary版本的话,有可能在添加debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.0-beta-3'的时候会添加不上,报什么找不到的错误,这时候invalidate cache/restart即可。发现这个有点万能。希望能帮助到大家。