Update the build rule and APIs of service-art.

Changes:
- Remove `stubs_library_visibility`, `stubs_source_visibility`, and
  `shared_library` because they are already in the defaults.
- Remove `compile_dex` because it's the default for APEX jars.
- Remove `required` because it's not meaningful.
- Remove `dist_group` because it is for libraries that expose public
  APIs, while `service-art` does not expose public APIs.
- Add `jarjar_rules` to keep symbols in static libraries (particularly
  "modules-utils-shell-command-handler") private to `service-art`.
- Remove `unsafe_ignore_missing_latest_api` as suggested in
  b/235330409#comment3.

Original change: aosp/2129474.
Modification: Keep `impl_library_visibility` because the files are not
moved.

Bug: 235330409
Test: art/tools/buildbot-build.sh
Change-Id: I4dccd65a2c3714c75f9c43547ab2626beef1bb16
Merged-In: Ib6b6dfe2d68005ee7b43423e83e1c547a37fcfc2
Merged-In: I389453ab668305802da0de7a06f66d967136be64
diff --git a/libartservice/Android.bp b/libartservice/Android.bp
index b9632ea..9fac53b 100644
--- a/libartservice/Android.bp
+++ b/libartservice/Android.bp
@@ -49,47 +49,27 @@
     // for JAR files in the System Server.
     name: "service-art",
     defaults: ["framework-system-server-module-defaults"],
-
     permitted_packages: ["com.android.server.art"],
-
     visibility: [
         "//art:__subpackages__",
         "//frameworks/base/services/core",
     ],
-
     impl_library_visibility: [
         "//art/libartservice/tests",
     ],
-
-    stubs_library_visibility: ["//visibility:public"],
-    stubs_source_visibility: ["//visibility:private"],
-
     apex_available: [
         "com.android.art",
         "com.android.art.debug",
     ],
     sdk_version: "system_server_current",
     min_sdk_version: "31",
-
-    // Temporarily disable compatibility with previous released APIs.
-    // TODO - remove once prototype has stabilized
-    //   running "m update-api" will give instructions on what to do next
-    unsafe_ignore_missing_latest_api: true,
-
-    // This cannot be accessed by apps using <uses-library> in their manifest.
-    shared_library: false,
-    // TODO(b/188773212): force dex compilation for inclusion in bootclasspath_fragment.
-    compile_dex: true,
-
     srcs: [
         "service/java/**/*.java",
     ],
-
-    libs: [
+    static_libs: [
     ],
-
     plugins: ["java_api_finder"],
-    dist_group: "android",
+    jarjar_rules: "jarjar-rules.txt",
 }
 
 art_cc_defaults {
diff --git a/libartservice/jarjar-rules.txt b/libartservice/jarjar-rules.txt
new file mode 100644
index 0000000..c7d39e6
--- /dev/null
+++ b/libartservice/jarjar-rules.txt
@@ -0,0 +1,2 @@
+# Repackages static libraries to make them private to ART Services.
+rule com.android.modules.utils.** com.android.server.art.jarjar.@0