diff --git a/d8_r8/test/build.gradle.kts b/d8_r8/test/build.gradle.kts
index 80bfd4e..c9a5d63 100644
--- a/d8_r8/test/build.gradle.kts
+++ b/d8_r8/test/build.gradle.kts
@@ -229,23 +229,6 @@
             "r8lib.jar")
   }
 
-  val resourceshrinkercli by registering(Exec::class) {
-    dependsOn(r8WithRelocatedDepsTask)
-    val r8 = r8WithRelocatedDepsTask.getSingleOutputFile()
-    val keepTxt = getRoot().resolveAll("src", "main", "resourceshrinker_cli.txt")
-    val cliKeep = getRoot().resolveAll("src", "main", "keep_r8resourceshrinker.txt")
-    inputs.files(keepTxt, cliKeep)
-    val output = file(Paths.get("build", "libs", "resourceshrinkercli.jar"))
-    outputs.file(output)
-    commandLine = createR8LibCommandLine(
-      r8,
-      r8,
-      output,
-      listOf(keepTxt, cliKeep),
-      false,
-      false)
-  }
-
   fun Task.generateTestKeepRulesForR8Lib(
           r8LibJarProvider: TaskProvider<Exec>, artifactName: String) {
     dependsOn(r8LibJarProvider)
diff --git a/src/main/resourceshrinker_cli.txt b/src/main/resourceshrinker_cli.txt
deleted file mode 100644
index 6bc0f39..0000000
--- a/src/main/resourceshrinker_cli.txt
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright (c) 2023, the R8 project authors. Please see the AUTHORS file
-# for details. All rights reserved. Use of this source code is governed by a
-# BSD-style license that can be found in the LICENSE file.
-
-# This is dependent on the resource shrinker being relocated into r8 namespace
--keep class com.android.tools.r8.resourceshrinker.ResourceShrinkerCli {
-  public static void main(java.lang.String[]);
-}
-
