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
Merged-In: I5aab863cb12b8767b6979255c247000a59355b0e
(cherry picked from commit 95b6f45b0e)
Change-Id: I5aab863cb12b8767b6979255c247000a59355b0e
This commit is contained in:
Jiyong Park 2020-03-09 14:35:57 +09:00
parent bbbd1a8e41
commit 01aa81cec5
3 changed files with 8 additions and 2 deletions

View file

@ -575,7 +575,6 @@ cc_binary {
"libcrypto_utils",
"libcutils_sockets",
"libdiagnose_usb",
"liblog",
"libmdnssd",
"libminijail",
"libselinux",
@ -588,6 +587,7 @@ cc_binary {
"libadbd_auth",
"libadbd_fs",
"libcrypto",
"liblog",
],
target: {

View file

@ -117,8 +117,12 @@ cc_library {
logtags: ["event.logtags"],
compile_multilib: "both",
apex_available: [
"//apex_available:anyapex",
"//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"],
static_libs: [
"libbase",
],
shared_libs: [
"liblog",
"libutils",
],