diff --git a/Android.bp b/Android.bp
index 1e75e9f..1f5898c 100644
--- a/Android.bp
+++ b/Android.bp
@@ -44,31 +44,6 @@
     javacflags: ["-verbose"],
 }
 
-java_test_host {
-    name: "JavaApiUsedByMainlineModuleTest",
-    srcs: ["src/test/**/JavaApiUsedByMainlineModuleTest.java"],
-    java_resource_dirs: ["src/test/res"],
-    java_resources: [":java_api_used_by_mainline_module_testdata"],
-    static_libs: [
-        "java_api_used_by_mainline_module",
-        "error_prone_test_helpers",
-        "hamcrest-library",
-        "hamcrest",
-        "platform-test-annotations",
-        "junit",
-        "truth-prebuilt",
-    ],
-    test_options: {
-        unit_test: true,
-    },
-}
-
-filegroup {
-    name: "java_api_used_by_mainline_module_testdata",
-    path: "src/test/res",
-    srcs: ["src/test/res/**/*.java"],
-}
-
 // ------------------------- AndroidLint Checkers ----------------------------------
 
 java_library_host {
diff --git a/src/test/com/android/apifinder/JavaApiUsedByMainlineModuleTest.java b/src/test/com/android/apifinder/JavaApiUsedByMainlineModuleTest.java
deleted file mode 100644
index 9d79706..0000000
--- a/src/test/com/android/apifinder/JavaApiUsedByMainlineModuleTest.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package com.android.apifinder;
-
-import com.android.apifinder.JavaApiUsedByMainlineModule;
-import com.google.errorprone.CompilationTestHelper;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.JUnit4;
-
-/** Unit tests for {@link JavaApiUsedByMainlineModule}. */
-@RunWith(JUnit4.class)
-public final class JavaApiUsedByMainlineModuleTest {
-
-  private CompilationTestHelper compilationHelper;
-
-  @Before
-  public void setUp() {
-    compilationHelper = CompilationTestHelper.newInstance(
-        JavaApiUsedByMainlineModule.class, getClass());
-  }
-
-  /*
-   * The error prone testing library will run the plugin on the resource file.
-   * The error prone testing library will compare the comment of each method in the
-   * resource file to determine if the return value is expected.
-   */
-  @Test
-  public void positiveFindPublicMethod() {
-    compilationHelper
-        .addSourceFile("JavaApiUsedByMainlineModuleCases.java").doTest();
-  }
-}
diff --git a/src/test/res/com/android/apifinder/JavaApiUsedByMainlineModuleCases.java b/src/test/res/com/android/apifinder/JavaApiUsedByMainlineModuleCases.java
deleted file mode 100644
index 603871f..0000000
--- a/src/test/res/com/android/apifinder/JavaApiUsedByMainlineModuleCases.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package com.android.apifinder;
-
-public class JavaApiUsedByMainlineModuleCases {
-
-  public class PublicSubClass {
-    public void publicMethod() {}
-
-    private void privateMethod() {}
-  }
-
-  private class PrivateSubClass {
-    public void publicMethod() {}
-  }
-
-  public void testMethod() {
-    // BUG: Diagnostic contains: JavaApiUsedByMainlineModuleCases.PublicSubClass
-    // .JavaApiUsedByMainlineModuleCases.PublicSubClass()
-    PublicSubClass publicTestClass = new PublicSubClass();
-
-    // BUG: Diagnostic contains: JavaApiUsedByMainlineModuleCases.PublicSubClass.publicMethod()
-    publicTestClass.publicMethod();
-
-    /** Should not be reported since PrivateSubClass is a private class. */
-    PrivateSubClass privateTestClass = new PrivateSubClass();
-    privateTestClass.publicMethod();
-  }
-}
