add Shell-package-library to allow product type level update
- Car proeducts add additional car permissions to shell package for use cases
like CTS
- This CL will allow overriding the Shell package rather than adding one
more package with shared shell uid
Bug: 177099512
Test: Check added package when built in car product.
Change-Id: I6e9103c3275cb2e6df5dc586588eccd7d2ab6b06
diff --git a/packages/Shell/Android.bp b/packages/Shell/Android.bp
index c873e30..546642d 100644
--- a/packages/Shell/Android.bp
+++ b/packages/Shell/Android.bp
@@ -1,11 +1,15 @@
+// used both for the android_app and android_library
+shell_srcs = ["src/**/*.java",":dumpstate_aidl"]
+shell_static_libs = ["androidx.legacy_legacy-support-v4"]
+
android_app {
name: "Shell",
defaults: ["platform_app_defaults"],
- srcs: ["src/**/*.java",":dumpstate_aidl"],
+ srcs: shell_srcs,
aidl: {
include_dirs: ["frameworks/native/cmds/dumpstate/binder"],
},
- static_libs: ["androidx.legacy_legacy-support-v4"],
+ static_libs: shell_static_libs,
platform_apis: true,
certificate: "platform",
privileged: true,
@@ -13,3 +17,18 @@
include_filter: ["com.android.shell.*"],
},
}
+
+// A library for product type like auto to create a new shell package
+// with product specific permissions.
+android_library {
+ name: "Shell-package-library",
+ defaults: ["platform_app_defaults"],
+ srcs: shell_srcs,
+ aidl: {
+ include_dirs: ["frameworks/native/cmds/dumpstate/binder"],
+ },
+ resource_dirs: ["res"],
+ static_libs: shell_static_libs,
+ platform_apis: true,
+ manifest: "AndroidManifest.xml",
+}