Files
frameworks_base/services/core/Android.bp
Nikita Ioffe 05b17e193f Teach PackageManagerService about supplemental process
Each app will have it's own supplemental process with a different uid
that uniquely maps to the uid of the application that this supplemental
process corresponds to.

This will impact some of the PackageManager and PermissionManager APIs
(e.g. PackageManager.getPackagesForUid, or
PermissionManager.checkPermission). In order to make it possible for
PackageManager to correctly treat supplemental process uids, we first
need to teach it about the supplemental process APK itself, hence this
change.

Bug: 215241564
Test: atest PackageManagerShellCommandTest
Change-Id: I28f4a382900f276170c51e8c92d8fcde8419ddb1
2022-02-01 16:59:17 +00:00

227 lines
8.3 KiB
Plaintext

package {
// See: http://go/android-license-faq
// A large-scale-change added 'default_applicable_licenses' to import
// all of the 'license_kinds' from "frameworks_base_license"
// to get the below license kinds:
// SPDX-license-identifier-Apache-2.0
default_applicable_licenses: ["frameworks_base_license"],
}
filegroup {
name: "services.core-sources-am-wm",
srcs: [
"java/com/android/server/am/**/*.java",
"java/com/android/server/wm/**/*.java",
],
path: "java",
visibility: ["//frameworks/base/services"],
}
filegroup {
name: "services.core-sources",
srcs: ["java/**/*.java"],
exclude_srcs: [
":services.core-sources-am-wm",
],
path: "java",
visibility: [
"//frameworks/base/services",
"//frameworks/base/core/java/com/android/internal/protolog",
],
}
genrule {
name: "services.core.protologsrc",
srcs: [
":protolog-groups",
":services.core-sources-am-wm",
],
tools: ["protologtool"],
cmd: "$(location protologtool) transform-protolog-calls " +
"--protolog-class com.android.internal.protolog.common.ProtoLog " +
"--protolog-impl-class com.android.internal.protolog.ProtoLogImpl " +
"--protolog-cache-class 'com.android.server.wm.ProtoLogCache' " +
"--loggroups-class com.android.internal.protolog.ProtoLogGroup " +
"--loggroups-jar $(location :protolog-groups) " +
"--output-srcjar $(out) " +
"$(locations :services.core-sources-am-wm)",
out: ["services.core.protolog.srcjar"],
}
genrule {
name: "generate-protolog.json",
srcs: [
":protolog-groups",
":services.core-sources-am-wm",
],
tools: ["protologtool"],
cmd: "$(location protologtool) generate-viewer-config " +
"--protolog-class com.android.internal.protolog.common.ProtoLog " +
"--loggroups-class com.android.internal.protolog.ProtoLogGroup " +
"--loggroups-jar $(location :protolog-groups) " +
"--viewer-conf $(out) " +
"$(locations :services.core-sources-am-wm)",
out: ["services.core.protolog.json"],
}
genrule {
name: "checked-protolog.json",
srcs: [
":generate-protolog.json",
":services.core.protolog.json",
],
cmd: "cp $(location :generate-protolog.json) $(out) && " +
"{ ! (diff $(out) $(location :services.core.protolog.json) | grep -q '^<') || " +
"{ echo -e '\\n\\n################################################################\\n#\\n" +
"# ERROR: ProtoLog viewer config is stale. To update it, run:\\n#\\n" +
"# cp $(location :generate-protolog.json) " +
"$(location :services.core.protolog.json)\\n#\\n" +
"################################################################\\n\\n' >&2 && false; } }",
out: ["services.core.protolog.json"],
}
genrule {
name: "statslog-art-java-gen",
tools: ["stats-log-api-gen"],
cmd: "$(location stats-log-api-gen) --java $(out) --module art" +
" --javaPackage com.android.internal.art --javaClass ArtStatsLog --worksource",
out: ["com/android/internal/art/ArtStatsLog.java"],
}
genrule {
name: "statslog-contexthub-java-gen",
tools: ["stats-log-api-gen"],
cmd: "$(location stats-log-api-gen) --java $(out) --module contexthub" +
" --javaPackage com.android.server.location.contexthub --javaClass ContextHubStatsLog",
out: ["com/android/server/location/contexthub/ContextHubStatsLog.java"],
}
java_library_static {
name: "services.core.unboosted",
defaults: ["platform_service_defaults"],
srcs: [
":android.hardware.biometrics.face-V2-java-source",
":statslog-art-java-gen",
":statslog-contexthub-java-gen",
":services.bluetooth-sources", // TODO(b/214988855) : Remove once apex is ready
":services.core-sources",
":services.core.protologsrc",
":dumpstate_aidl",
":framework_native_aidl",
":gsiservice_aidl",
":inputconstants_aidl",
":installd_aidl",
":storaged_aidl",
":vold_aidl",
":platform-compat-config",
":platform-compat-overrides",
":display-device-config",
":display-layout-config",
":device-state-config",
"java/com/android/server/EventLogTags.logtags",
"java/com/android/server/am/EventLogTags.logtags",
"java/com/android/server/wm/EventLogTags.logtags",
"java/com/android/server/policy/EventLogTags.logtags",
":services.connectivity-tiramisu-sources",
],
libs: [
"services.net",
"android.hardware.common-V2-java",
"android.hardware.light-V2.0-java",
"android.hardware.gnss-V2-java",
"android.hardware.vibrator-V2-java",
"app-compat-annotations",
"framework-tethering.stubs.module_lib",
"service-permission.stubs.system_server",
"service-supplementalprocess.stubs.system_server",
],
required: [
"default_television.xml",
"gps_debug.conf",
"protolog.conf.json.gz",
],
static_libs: [
"time_zone_distro",
"time_zone_distro_installer",
"android.hardware.authsecret-V1.0-java",
"android.hardware.boot-V1.0-java",
"android.hardware.boot-V1.1-java",
"android.hardware.boot-V1.2-java",
"android.hardware.broadcastradio-V2.0-java",
"android.hardware.health-V1.0-java", // HIDL
"android.hardware.health-V2.0-java", // HIDL
"android.hardware.health-V2.1-java", // HIDL
"android.hardware.health-V1-java", // AIDL
"android.hardware.health-translate-java",
"android.hardware.light-V1-java",
"android.hardware.tv.cec-V1.1-java",
"android.hardware.weaver-V1.0-java",
"android.hardware.biometrics.face-V1.0-java",
"android.hardware.biometrics.fingerprint-V2.3-java",
"android.hardware.biometrics.fingerprint-V2-java",
"android.hardware.oemlock-V1.0-java",
"android.hardware.configstore-V1.1-java",
"android.hardware.contexthub-V1.0-java",
"android.hardware.ir-V1-java",
"android.hardware.rebootescrow-V1-java",
"android.hardware.soundtrigger-V2.3-java",
"android.hardware.power.stats-V1-java",
"android.hardware.power-V3-java",
"android.hidl.manager-V1.2-java",
"capture_state_listener-aidl-java",
"icu4j_calendar_astronomer",
"netd-client",
"overlayable_policy_aidl-java",
"SurfaceFlingerProperties",
"com.android.sysprop.watchdog",
// This is used for services.connectivity-tiramisu-sources.
// TODO: delete when NetworkStatsService is moved to the mainline module.
"net-utils-device-common-bpf",
],
javac_shard_size: 50,
}
java_genrule {
name: "services.core.priorityboosted",
srcs: [":services.core.unboosted"],
tools: ["lockedregioncodeinjection"],
cmd: "$(location lockedregioncodeinjection) " +
" --targets \"Lcom/android/server/am/ActivityManagerService;,Lcom/android/server/am/ActivityManagerGlobalLock;,Lcom/android/server/wm/WindowManagerGlobalLock;\" " +
" --pre \"com/android/server/am/ActivityManagerService.boostPriorityForLockedSection,com/android/server/am/ActivityManagerService.boostPriorityForProcLockedSection,com/android/server/wm/WindowManagerService.boostPriorityForLockedSection\" " +
" --post \"com/android/server/am/ActivityManagerService.resetPriorityAfterLockedSection,com/android/server/am/ActivityManagerService.resetPriorityAfterProcLockedSection,com/android/server/wm/WindowManagerService.resetPriorityAfterLockedSection\" " +
" -o $(out) " +
" -i $(in)",
out: ["services.core.priorityboosted.jar"],
}
java_library {
name: "services.core",
static_libs: ["services.core.priorityboosted"],
}
java_library_host {
name: "core_cts_test_resources",
srcs: ["java/com/android/server/notification/SmallHash.java"],
}
prebuilt_etc {
name: "gps_debug.conf",
src: "java/com/android/server/location/gnss/gps_debug.conf",
}
genrule {
name: "services.core.json.gz",
srcs: [":checked-protolog.json"],
out: ["services.core.protolog.json.gz"],
cmd: "$(location minigzip) -c < $(in) > $(out)",
tools: ["minigzip"],
}
prebuilt_etc {
name: "protolog.conf.json.gz",
src: ":services.core.json.gz",
}