don't include liblog to APEXes

liblog is a platform library that provides stable C API. There is no
need to include the library, especialy by statically linking to it, in
any APEX. It not only wastes the storage/ram, but also is incorrect
because the socket interface to logd which is implemented in liblog is
not guaranteed to be stable.

Fixing this issue by converting static_libs: ["liblog"] into
shared_libs: ["liblog"], in which case the dependency to the library
is satisfied via the stub variant of the library.

As a result, we could restrict the availablity of the library to
the platform and the runtime APEX.

Exempt-From-Owner-Approval: already approved when this was in internal
master (ag/10572699)

Bug: http://b/151051671
Bug: http://b/150827719
Test: m
Change-Id: I5aab863cb12b8767b6979255c247000a59355b0e
This commit is contained in:
Jiyong Park 2020-03-09 14:35:57 +09:00
parent 73ae00bbde
commit 95b6f45b0e
3 changed files with 8 additions and 2 deletions

View file

@ -589,7 +589,6 @@ cc_binary {
"libcrypto_utils", "libcrypto_utils",
"libcutils_sockets", "libcutils_sockets",
"libdiagnose_usb", "libdiagnose_usb",
"liblog",
"libmdnssd", "libmdnssd",
"libminijail", "libminijail",
"libprotobuf-cpp-lite", "libprotobuf-cpp-lite",
@ -603,6 +602,7 @@ cc_binary {
"libadbd_auth", "libadbd_auth",
"libadbd_fs", "libadbd_fs",
"libcrypto", "libcrypto",
"liblog",
], ],
target: { target: {

View file

@ -121,8 +121,12 @@ cc_library {
logtags: ["event.logtags"], logtags: ["event.logtags"],
compile_multilib: "both", compile_multilib: "both",
apex_available: [ apex_available: [
"//apex_available:anyapex",
"//apex_available:platform", "//apex_available:platform",
// liblog is exceptionally available to the runtime APEX
// because the dynamic linker has to use it statically.
// See b/151051671
"com.android.runtime",
// DO NOT add more apex names here
], ],
} }

View file

@ -35,6 +35,8 @@ cc_defaults {
header_libs: ["libstatssocket_headers"], header_libs: ["libstatssocket_headers"],
static_libs: [ static_libs: [
"libbase", "libbase",
],
shared_libs: [
"liblog", "liblog",
"libutils", "libutils",
], ],