Files
flipper/docs/setup/leak-canary-plugin.md
Pascal Hartig 90c42aff24 Flipper Release: v0.29.3
Summary: Another quick release to trigger our npm update.

Reviewed By: cekkaewnumchai

Differential Revision: D18743449

fbshipit-source-id: 9200fc24aa971082184d6155ad7b2e3465b2fade
2019-11-28 03:11:09 -08:00

1.2 KiB

id, title, sidebar_label
id title sidebar_label
leak-canary-plugin LeakCanary Setup LeakCanary

Ensure that you already have an explicit dependency in your application's build.gradle including the plugin dependency, e.g.

dependencies {
  debugImplementation 'com.facebook.flipper:flipper-leakcanary-plugin:0.29.3'
  debugImplementation 'com.squareup.leakcanary:leakcanary-android:1.6.1'
  releaseImplementation 'com.squareup.leakcanary:leakcanary-android-no-op:1.6.1'
}

First, add the plugin to your Flipper client instance:

import com.facebook.flipper.plugins.leakcanary.LeakCanaryFlipperPlugin;

client.addPlugin(new LeakCanaryFlipperPlugin());

Next, build a custom RefWatcher using RecordLeakService: (see LeakCanary docs for more information on RefWatcher)

import com.facebook.flipper.plugins.leakcanary.RecordLeakService;

RefWatcher refWatcher = LeakCanary.refWatcher(this)
    .listenerServiceClass(RecordLeakService.class)
    .buildAndInstall();

Then, add the RecordLeakService in your debug variant AndroidManifest.xml.

<service android:name="com.facebook.flipper.plugins.leakcanary.RecordLeakService" />