diff --git a/build.gradle b/build.gradle
index f27ab95..671c556 100644
--- a/build.gradle
+++ b/build.gradle
@@ -6,6 +6,9 @@
   repositories {
     jcenter()
     google()
+    maven {
+      url "https://plugins.gradle.org/m2/"
+    }
   }
   dependencies {
     classpath 'org.ajoberstar:grgit:1.9.3'
@@ -13,6 +16,7 @@
     classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion"
     classpath "org.jetbrains.kotlin:kotlin-android-extensions:$kotlinVersion"
     classpath 'org.ajoberstar:grgit:1.9.3'
+    classpath "net.ltgt.gradle:gradle-errorprone-plugin:0.6"
   }
 }
 
diff --git a/lottie/build.gradle b/lottie/build.gradle
index 1a76e78..41462a3 100644
--- a/lottie/build.gradle
+++ b/lottie/build.gradle
@@ -1,5 +1,8 @@
+import net.ltgt.gradle.errorprone.CheckSeverity
+
 apply from: 'gradle-maven-push.gradle'
 apply plugin: 'com.android.library'
+apply plugin: 'net.ltgt.errorprone'
 
 android {
   compileSdkVersion 28
@@ -32,8 +35,9 @@
   testImplementation "org.robolectric:robolectric:4.0-alpha-3"
   // Do not ugprade to 2.0 because it will bring in Kotlin as a transitive dependency.
   implementation("com.squareup.okio:okio:1.17.4")
-
-
+  annotationProcessor "com.uber.nullaway:nullaway:0.7.5"
+  errorprone "com.google.errorprone:error_prone_core:2.3.2"
+  errorproneJavac "com.google.errorprone:javac:9+181-r4173-1"
 }
 
 task javadoc(type: Javadoc) {
@@ -43,6 +47,27 @@
   failOnError false
 }
 
+tasks.withType(JavaCompile) {
+  // remove the if condition if you want to run NullAway on test code
+  if (!name.toLowerCase().contains("test")) {
+    options.errorprone {
+      option("NullAway:AnnotatedPackages", "com.airbnb.lottie")
+      // TODO: enable these and fix errors one by one.
+      check("NullAway", CheckSeverity.OFF)
+      check("StringSplitter", CheckSeverity.OFF)
+      check("DefaultCharset", CheckSeverity.OFF)
+      check("HidingField", CheckSeverity.OFF)
+      check("NarrowingCompoundAssignment", CheckSeverity.OFF)
+      check("MissingOverride", CheckSeverity.OFF)
+      check("ReferenceEquality", CheckSeverity.OFF)
+      check("FallThrough", CheckSeverity.OFF)
+      check("FloatingPointLiteralPrecision", CheckSeverity.OFF)
+      check("MissingCasesInEnumSwitch", CheckSeverity.OFF)
+      check("OperatorPrecedence", CheckSeverity.OFF)
+    }
+  }
+}
+
 // Re-enable this if releases are uploaded from CI.
 //gradle.taskGraph.whenReady { taskGraph ->
 //  if (taskGraph.allTasks.any { it instanceof Sign }) {
diff --git a/lottie/src/main/java/com/airbnb/lottie/LottieCompositionFactory.java b/lottie/src/main/java/com/airbnb/lottie/LottieCompositionFactory.java
index 97971ad..3945ee7 100644
--- a/lottie/src/main/java/com/airbnb/lottie/LottieCompositionFactory.java
+++ b/lottie/src/main/java/com/airbnb/lottie/LottieCompositionFactory.java
@@ -38,7 +38,7 @@
  * In-progress tasks will also be held so they can be returned for subsequent requests for the same
  * animation prior to the cache being populated.
  */
-@SuppressWarnings({"WeakerAccess", "unused"})
+@SuppressWarnings({"WeakerAccess", "unused", "NullAway"})
 public class LottieCompositionFactory {
   /**
    * Keep a map of cache keys to in-progress tasks and return them for new requests.
