Disable use of 'constant dynamic' bytecode am: 0d5db7bcb6 am: f687aed09e

Original change: https://android-review.googlesource.com/c/platform/external/jacoco/+/1773306

Change-Id: Ib5b2e9beae597566bf24ea269071efd1e49c4644
diff --git a/README.android b/README.android
index 8fa2b90..aa28583 100644
--- a/README.android
+++ b/README.android
@@ -21,3 +21,6 @@
    more lightweight. The Agent is only created when it's actually
    needed. This makes it possible to instrument a lot of more core
    libraries without creating a circular dependency at runtime.
+4) Disable use of 'constant dynamic' bytecode in
+   org.jacoco.core.internal.instr.ProbeArrayStrategyFactory, because R8/D8 doesn't support it.
+   (https://issuetracker.google.com/178172809)
diff --git a/org.jacoco.core/src/org/jacoco/core/internal/instr/ProbeArrayStrategyFactory.java b/org.jacoco.core/src/org/jacoco/core/internal/instr/ProbeArrayStrategyFactory.java
index d5756b7..bc957b9 100644
--- a/org.jacoco.core/src/org/jacoco/core/internal/instr/ProbeArrayStrategyFactory.java
+++ b/org.jacoco.core/src/org/jacoco/core/internal/instr/ProbeArrayStrategyFactory.java
@@ -50,10 +50,13 @@
 			if (counter.getCount() == 0) {
 				return new NoneProbeArrayStrategy();
 			}
-			if (version >= Opcodes.V11 && counter.hasMethods()) {
-				return new CondyProbeArrayStrategy(className, true, classId,
-						accessorGenerator);
-			}
+// BEGIN android-change
+			// See https://github.com/jacoco/jacoco/issues/1151
+			// if (version >= Opcodes.V11 && counter.hasMethods()) {
+			// 	return new CondyProbeArrayStrategy(className, true, classId,
+			// 			accessorGenerator);
+			// }
+// END android-change
 			if (version >= Opcodes.V1_8 && counter.hasMethods()) {
 				return new InterfaceFieldProbeArrayStrategy(className, classId,
 						counter.getCount(), accessorGenerator);
@@ -62,10 +65,13 @@
 						counter.getCount(), accessorGenerator);
 			}
 		} else {
-			if (version >= Opcodes.V11) {
-				return new CondyProbeArrayStrategy(className, false, classId,
-						accessorGenerator);
-			}
+// BEGIN android-change
+			// See https://github.com/jacoco/jacoco/issues/1151
+			// if (version >= Opcodes.V11) {
+			// 	return new CondyProbeArrayStrategy(className, false, classId,
+			// 			accessorGenerator);
+			// }
+// END android-change
 			return new ClassFieldProbeArrayStrategy(className, classId,
 					InstrSupport.needsFrames(version), accessorGenerator);
 		}