Add -Djava.security.manager=allow to BazelAndroidLocalTest to prevent breakage when running on JDK 21.

Fixes #21593.

PiperOrigin-RevId: 613629087
Change-Id: I974643aa204547eed7d251507a063a6563f3886c
diff --git a/.bazelci/postsubmit.yml b/.bazelci/postsubmit.yml
index 4c74789..731ff75 100644
--- a/.bazelci/postsubmit.yml
+++ b/.bazelci/postsubmit.yml
@@ -47,11 +47,6 @@
       - "-//src/test/shell/bazel/android:android_instrumentation_test_integration_test_with_head_android_tools"
       - "-//src/test/shell/bazel/android:aapt_integration_test"
       - "-//src/test/shell/bazel/android:aapt_integration_test_with_head_android_tools"
-      # https://github.com/bazelbuild/bazel/issues/21593
-      # --
-      - "-//src/test/shell/bazel/android:android_local_test_integration_test"
-      - "-//src/test/shell/bazel/android:android_local_test_integration_test_with_head_android_tools"
-      # --
     include_json_profile:
       - build
       - test
@@ -100,11 +95,6 @@
       - "//tools/aquery_differ/..."
       - "//tools/python/..."
       - "//tools/bash/..."
-      # https://github.com/bazelbuild/bazel/issues/21593
-      # --
-      - "-//src/test/shell/bazel/android:android_local_test_integration_test"
-      - "-//src/test/shell/bazel/android:android_local_test_integration_test_with_head_android_tools"
-      # --
     include_json_profile:
       - build
       - test
@@ -163,11 +153,6 @@
       - "//tools/aquery_differ/..."
       - "//tools/python/..."
       - "//tools/bash/..."
-      # https://github.com/bazelbuild/bazel/issues/21593
-      # --
-      - "-//src/test/shell/bazel/android:android_local_test_integration_test"
-      - "-//src/test/shell/bazel/android:android_local_test_integration_test_with_head_android_tools"
-      # --
     include_json_profile:
       - build
       - test
@@ -221,11 +206,6 @@
       - "-//src/test/shell/bazel/android:android_instrumentation_test_integration_test_with_head_android_tools"
       - "-//src/test/shell/bazel/android:aapt_integration_test"
       - "-//src/test/shell/bazel/android:aapt_integration_test_with_head_android_tools"
-      # https://github.com/bazelbuild/bazel/issues/21593
-      # --
-      - "-//src/test/shell/bazel/android:android_local_test_integration_test"
-      - "-//src/test/shell/bazel/android:android_local_test_integration_test_with_head_android_tools"
-      # --
     include_json_profile:
       - build
       - test
diff --git a/.bazelci/presubmit.yml b/.bazelci/presubmit.yml
index 6cf2954..aaa8660 100644
--- a/.bazelci/presubmit.yml
+++ b/.bazelci/presubmit.yml
@@ -48,11 +48,6 @@
       - "-//src/test/shell/bazel/android:android_instrumentation_test_integration_test_with_head_android_tools"
       - "-//src/test/shell/bazel/android:aapt_integration_test"
       - "-//src/test/shell/bazel/android:aapt_integration_test_with_head_android_tools"
-      # https://github.com/bazelbuild/bazel/issues/21593
-      # --
-      - "-//src/test/shell/bazel/android:android_local_test_integration_test"
-      - "-//src/test/shell/bazel/android:android_local_test_integration_test_with_head_android_tools"
-      # --
     include_json_profile:
       - build
       - test
@@ -102,11 +97,6 @@
       - "//tools/aquery_differ/..."
       - "//tools/python/..."
       - "//tools/bash/..."
-      # https://github.com/bazelbuild/bazel/issues/21593
-      # --
-      - "-//src/test/shell/bazel/android:android_local_test_integration_test"
-      - "-//src/test/shell/bazel/android:android_local_test_integration_test_with_head_android_tools"
-      # --
     include_json_profile:
       - build
       - test
@@ -166,11 +156,6 @@
       - "//tools/aquery_differ/..."
       - "//tools/python/..."
       - "//tools/bash/..."
-      # https://github.com/bazelbuild/bazel/issues/21593
-      # --
-      - "-//src/test/shell/bazel/android:android_local_test_integration_test"
-      - "-//src/test/shell/bazel/android:android_local_test_integration_test_with_head_android_tools"
-      # --
     include_json_profile:
       - build
       - test
@@ -265,11 +250,6 @@
       # - "-//src/test/shell/bazel/android:resource_processing_integration_test"
       - "-//src/test/shell/bazel:bazel_coverage_java_jdk11_toolchain_released_test"
       # - "-//src/test/shell/bazel/android:aar_integration_test_with_head_android_tools"
-      # https://github.com/bazelbuild/bazel/issues/21593
-      # --
-      - "-//src/test/shell/bazel/android:android_local_test_integration_test"
-      - "-//src/test/shell/bazel/android:android_local_test_integration_test_with_head_android_tools"
-      # --
       - "-//src/tools/singlejar:zip64_test"
       - "-//src/test/py/bazel:launcher_test"
       - "-//src/test/shell/integration:bazel_worker_test"
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/android/BazelAndroidLocalTest.java b/src/main/java/com/google/devtools/build/lib/bazel/rules/android/BazelAndroidLocalTest.java
index 952bd5a..245a183 100644
--- a/src/main/java/com/google/devtools/build/lib/bazel/rules/android/BazelAndroidLocalTest.java
+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/android/BazelAndroidLocalTest.java
@@ -27,6 +27,7 @@
 import com.google.devtools.build.lib.rules.java.JavaCommon;
 import com.google.devtools.build.lib.rules.java.JavaCompilationArtifacts;
 import com.google.devtools.build.lib.rules.java.JavaCompilationHelper;
+import com.google.devtools.build.lib.rules.java.JavaRuntimeInfo;
 import com.google.devtools.build.lib.rules.java.JavaSemantics;
 import com.google.devtools.build.lib.rules.java.JavaTargetAttributes;
 import com.google.devtools.build.lib.util.ShellEscaper;
@@ -57,16 +58,25 @@
       throws RuleErrorException, InterruptedException {
     Artifact androidAllJarsPropertiesFile = getAndroidAllJarsPropertiesFile(ruleContext);
 
-    return ImmutableList.<String>builder()
-        .addAll(JavaCommon.getJvmFlags(ruleContext))
-        .add("-ea")
-        .add("-Dbazel.test_suite=" + ShellEscaper.escapeString(testClass))
-        .add("-Drobolectric.offline=true")
-        .add(
-            "-Drobolectric-deps.properties=" + androidAllJarsPropertiesFile.getRunfilesPathString())
-        .add("-Duse_framework_manifest_parser=true")
-        .add("-Dorg.robolectric.packagesToNotAcquire=com.google.testing.junit.runner.util")
-        .build();
+    ImmutableList.Builder<String> builder =
+        ImmutableList.<String>builder()
+            .addAll(JavaCommon.getJvmFlags(ruleContext))
+            .add("-ea")
+            .add("-Dbazel.test_suite=" + ShellEscaper.escapeString(testClass))
+            .add("-Drobolectric.offline=true")
+            .add(
+                "-Drobolectric-deps.properties="
+                    + androidAllJarsPropertiesFile.getRunfilesPathString())
+            .add("-Duse_framework_manifest_parser=true")
+            .add("-Dorg.robolectric.packagesToNotAcquire=com.google.testing.junit.runner.util");
+
+    if (JavaRuntimeInfo.from(ruleContext, createJavaSemantics().getJavaRuntimeToolchainType())
+            .version()
+        >= 17) {
+      builder.add("-Djava.security.manager=allow");
+    }
+
+    return builder.build();
   }
 
   @Override