Allow abstract methods on non-abstract classes

Bug: 144886554
Change-Id: I359c37f8a7dcb863f5b1f3d695267bf0add16a37
diff --git a/src/main/java/com/android/tools/r8/shaking/TreePruner.java b/src/main/java/com/android/tools/r8/shaking/TreePruner.java
index af0efe5..e7a7fe5 100644
--- a/src/main/java/com/android/tools/r8/shaking/TreePruner.java
+++ b/src/main/java/com/android/tools/r8/shaking/TreePruner.java
@@ -289,7 +289,8 @@
         // Final classes cannot be abstract, so we have to keep the method in that case.
         // Also some other kinds of methods cannot be abstract, so keep them around.
         boolean allowAbstract =
-            clazz.accessFlags.isAbstract()
+            (!options.canHaveDalvikAbstractMethodOnNonAbstractClassVerificationBug()
+                    || clazz.accessFlags.isAbstract())
                 && !method.accessFlags.isFinal()
                 && !method.accessFlags.isNative()
                 && !method.accessFlags.isStrict()