Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Android/art/art/libartservice/service/   (Android Betriebssystem Version 17©)  Datei vom 26.5.2026 mit Größe 7 kB image not shown  

Quelle  Android.bp   Sprache: unbekannt

 
Spracherkennung für: .bp vermutete Sprache: Unknown {[0] [0] [0]} [Methode: Schwerpunktbildung, einfache Gewichte, sechs Dimensionen]

// Copyright (C) 2021 The Android Open Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

package {
    // See: http://go/android-license-faq
    // A large-scale-change added 'default_applicable_licenses' to import
    // all of the 'license_kinds' from "art_license"
    // to get the below license kinds:
    //   SPDX-license-identifier-Apache-2.0
    default_applicable_licenses: ["art_license"],
}

// This native library contains JNI support code for the ART Service Java
// Language library.
cc_defaults {
    name: "libartservice_defaults",
    defaults: ["art_defaults"],
    host_supported: true,
    srcs: [
        "native/service.cc",
    ],
    export_include_dirs: ["native"],
    shared_libs: [
        "liblog", // Used by "JNIHelp.h".
        "libnativehelper",
    ],
    target: {
        android: {
            compile_multilib: "first",
        },
    },
}

cc_library {
    name: "libartservice",
    defaults: ["libartservice_defaults"],
    apex_available: [
        "com.android.art",
        "com.android.art.debug",
    ],
    shared_libs: [
        "libart",
        "libartbase",
        "libarttools",
        "libbase",
    ],
}

cc_library {
    name: "libartserviced",
    defaults: [
        "libartservice_defaults",
        "art_debug_defaults",
    ],
    apex_available: [
        "com.android.art",
        "com.android.art.debug",
    ],
    shared_libs: [
        "libartd",
        "libartbased",
        "libarttools",
        "libbase",
    ],
}

java_defaults {
    name: "service-art-defaults",
    defaults: [
        "framework-system-server-module-defaults",
    ],
    sdk_version: "system_server_current",
    min_sdk_version: "31",
    srcs: [
        "java/**/*.java",
    ],
    libs: [
        "androidx.annotation_annotation",
        "aconfig-annotations-lib",
        "art-aconfig-flags-java-lib",
        "auto_value_annotations",
        "libcore-aconfig-flags-lib",
        "sdk_module-lib_current_framework-configinfrastructure",
        "sdk_module-lib_current_framework-mediaprovider",
        "sdk_module-lib_current_framework-permission-s",
        // TODO(b/256866172): Transitive dependency, for r8 only.
        "framework-statsd.stubs.module_lib",
        // TODO(b/256866172): Transitive dependency, for r8 only. This module
        // always refers to the jar in prebuilts/sdk. We can't use
        // "framework-connectivity.stubs.module_lib" here because it's not
        // available on master-art.
        "sdk_module-lib_current_framework-connectivity",
    ],
    static_libs: [
        "android.app.privatecompute.flags-aconfig-java-export",
        "android.content.pm.flags-aconfig-java-export",
        "android.os.flags-aconfig-java-export",
        "art-aconfig-rw-flags-java-lib",
        "art-statslog-art-java",
        "artd-aidl-java",
        "dexopt_chroot_setup-aidl-java",
        "modules-utils-build",
        "modules-utils-package-state",
        "modules-utils-shell-command-handler",
        "service-art-proto-java",
    ],
    plugins: [
        "auto_value_plugin",
    ],
}

// Provides the API and implementation of the ART Service class that will be
// loaded by the System Server.
java_sdk_library {
    // This target is named 'service-art' to conform to the naming conventions
    // for JAR files in the System Server.
    name: "service-art",
    defaults: [
        "service-art-defaults",
        "framework-system-server-module-optimize-defaults",
    ],
    permitted_packages: [
        "com.android.server.art",
    ],
    dex_preopt: {
        profile: "art-profile",
    },
    visibility: [
        "//art:__subpackages__",
        "//frameworks/base/services/core",
    ],
    apex_available: [
        "com.android.art",
        "com.android.art.debug",
    ],
    jarjar_rules: "jarjar-rules.txt",
    optimize: {
        proguard_flags_files: ["proguard.flags"],
    },
    aconfig_declarations: [
        "art-aconfig-flags",
    ],
}

java_library {
    name: "service-art-proto-java",
    proto: {
        type: "lite",
    },
    srcs: [
        "proto/**/*.proto",
    ],
    sdk_version: "system_server_current",
    min_sdk_version: "31",
    apex_available: [
        "com.android.art",
        "com.android.art.debug",
    ],
}

java_library {
    name: "art-statslog-art-java",
    srcs: [
        ":art-statslog-art-java-gen",
    ],
    libs: [
        "framework-statsd.stubs.module_lib",
    ],
    sdk_version: "system_server_current",
    min_sdk_version: "31",
    apex_available: [
        "com.android.art",
        "com.android.art.debug",
    ],
}

genrule {
    name: "art-statslog-art-java-gen",
    tools: ["stats-log-api-gen"],
    cmd: "$(location stats-log-api-gen) --java $(out) --module art --javaPackage com.android.server.art --javaClass ArtStatsLog",
    out: ["java/com/android/server/art/ArtStatsLog.java"],
}

art_cc_defaults {
    name: "art_libartservice_tests_defaults",
    defaults: ["libartservice_defaults"],
    srcs: [
        "native/service_test.cc",
    ],
    static_libs: [
        "libgmock",
    ],
}

// Version of ART gtest `art_libartservice_tests` for host.
// TODO(b/192274705): Remove this module when the migration to standalone ART gtests is complete.
art_cc_test {
    name: "art_libartservice_tests",
    device_supported: false,
    defaults: [
        "art_gtest_defaults",
        "art_libartservice_tests_defaults",
    ],
    shared_libs: [
        "libarttools",
        "libbase",
    ],
}

// Standalone version of ART gtest `art_libartservice_tests`, not bundled with the ART APEX on
// target.
art_cc_test {
    name: "art_standalone_libartservice_tests",
    defaults: [
        "art_standalone_gtest_defaults",
        "art_libartservice_tests_defaults",
    ],
    static_libs: [
        "libarttools",
        "libbase",
    ],
    test_config_template: ":art-gtests-target-standalone-non-multilib-template",
}

// Used by tests to allow tests to jarjar flags.
java_library {
    name: "service-art-tests",
    defaults: ["service-art-defaults"],
    // Include all test java files.
    srcs: [
        "javatests/**/*.java",
    ],

    libs: [
        "sdk_module-lib_current_framework-configinfrastructure",
    ],

    static_libs: [
        "art-aconfig-flags-java-lib",
        "androidx.test.ext.junit",
        "androidx.test.ext.truth",
        "androidx.test.runner",
        "artd-aidl-java",
        "flag-junit",
        "framework-annotations-lib",
        // We need ExtendedMockito to mock static methods.
        "mockito-target-extended-minus-junit4",
        "modules-utils-package-state",
    ],
    jarjar_rules: "test-jarjar-rules.txt",
    installable: false,
    visibility: [
        "//visibility:override",
        "//visibility:private",
    ],
}

android_test {
    name: "ArtServiceTests",

    static_libs: [
        "service-art-tests",
        // Statically link against system server to allow us to mock system
        // server APIs. This won't work on master-art, but it's fine because we
        // don't run this test on master-art.
        "services.core",
    ],

    jni_libs: [
        // The two libraries below are required by ExtendedMockito.
        "libdexmakerjvmtiagent",
        "libstaticjvmtiagent",
    ],

    compile_multilib: "first",

    sdk_version: "system_server_current",
    min_sdk_version: "31",

    test_suites: ["general-tests"],
    test_config: "ArtServiceTests.xml",
}

filegroup {
    name: "libartservice_protos",
    srcs: [
        "proto/**/*.proto",
    ],
    visibility: [
        "//cts/hostsidetests/compilation",
    ],
}

[Dauer der Verarbeitung: 0.20 Sekunden, vorverarbeitet 2026-06-29]