Now from leakCanary 2.14, you have to use ObjectWatcher instead of RefWatcher
dependencies {
implementation 'com.squareup.leakcanary:leakcanary-object-watcher-android:2.14'
}
// In shared code
interface MaybeObjectWatcher {
fun watch(watchedObject: Any, description: String)
object None : MaybeObjectWatcher {
override fun watch(watchedObject: Any, description: String) {
}
}
}
// In debug code
class RealObjectWatcher : MaybeObjectWatcher {
override fun watch(watchedObject: Any, description: String) {
AppWatcher.objectWatcher.watch(watchedObject, description)
}
}
Link for the reference.
https://square.github.io/leakcanary/upgrading-to-leakcanary-2.0/