Files
flipper/docs/setup/leak-canary-plugin.md
Pascal Hartig 76f2f0f554 Flipper Release: v0.32.2
Summary:
Bugfix release for plugin detection/compilation.

(Note: this ignores all push blocking failures!)

Reviewed By: nikoant

Differential Revision: D20158707

fbshipit-source-id: a0d2a235b48a00d5821a033df30fb5b60cb54f23
2020-02-28 08:51:34 -08:00

40 lines
1.2 KiB
Markdown

---
id: leak-canary-plugin
title: LeakCanary Setup
sidebar_label: LeakCanary
---
Ensure that you already have an explicit dependency in your application's
`build.gradle` including the plugin dependency, e.g.
```groovy
dependencies {
debugImplementation 'com.facebook.flipper:flipper-leakcanary-plugin:0.32.2'
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:
```java
import com.facebook.flipper.plugins.leakcanary.LeakCanaryFlipperPlugin;
client.addPlugin(new LeakCanaryFlipperPlugin());
```
Next, build a custom RefWatcher using RecordLeakService: (see [LeakCanary docs](https://github.com/square/leakcanary/wiki/Customizing-LeakCanary#uploading-to-a-server) for more information on RefWatcher)
```java
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.
```xml
<service android:name="com.facebook.flipper.plugins.leakcanary.RecordLeakService" />
```