Merge "adb: `adbd` uses shared libraries."

This commit is contained in:
Tao Bao 2018-08-06 21:55:28 +00:00 committed by Gerrit Code Review
commit 0e947189c5
2 changed files with 106 additions and 39 deletions

View File

@ -277,26 +277,113 @@ cc_binary_host {
},
}
// libadbd_core contains the common sources to build libadbd and libadbd_services.
cc_library_static {
name: "libadbd_core",
defaults: ["adb_defaults"],
recovery_available: true,
// libminadbd wants both, as it's used to build native tests.
compile_multilib: "both",
srcs: libadb_srcs + libadb_posix_srcs + [
"daemon/auth.cpp",
"daemon/jdwp_service.cpp",
"daemon/usb.cpp",
],
local_include_dirs: [
"daemon/include",
],
static_libs: [
"libdiagnose_usb",
"libqemu_pipe",
],
shared_libs: [
"libasyncio",
"libbase",
"libcrypto",
"libcrypto_utils",
"libcutils",
"liblog",
],
}
cc_library {
name: "libadbd_services",
defaults: ["adb_defaults"],
recovery_available: true,
compile_multilib: "both",
srcs: [
"daemon/file_sync_service.cpp",
"daemon/framebuffer_service.cpp",
"daemon/mdns.cpp",
"daemon/remount_service.cpp",
"daemon/services.cpp",
"daemon/set_verity_enable_state_service.cpp",
"daemon/shell_service.cpp",
"shell_service_protocol.cpp",
],
cflags: [
"-D_GNU_SOURCE",
"-Wno-deprecated-declarations",
],
static_libs: [
"libadbd_core",
"libavb_user",
"libdiagnose_usb",
"libqemu_pipe",
// `daemon/shell_service.cpp` uses selinux_android_setcon(), which is not exposed by
// libselinux.
"libselinux",
],
shared_libs: [
"libasyncio",
"libbase",
"libbootloader_message",
"libcrypto",
"libcrypto_utils",
"libcutils",
"libext4_utils",
"libfec",
"libfec_rs",
"libfs_mgr",
"liblog",
"libmdnssd",
],
}
cc_library {
name: "libadbd",
defaults: ["adb_defaults"],
recovery_available: true,
// libminadbd wants both, for some reason.
// Avoid getting duplicate symbol of android::build::GetBuildNumber().
use_version_lib: false,
// libminadbd wants both, as it's used to build native tests.
compile_multilib: "both",
srcs: libadb_srcs + libadb_posix_srcs + [
"daemon/auth.cpp",
"daemon/usb.cpp",
"daemon/jdwp_service.cpp",
// libadbd doesn't build any additional source, but to expose libadbd_core as a shared library.
whole_static_libs: [
"libadbd_core",
],
static_libs: [
shared_libs: [
"libadbd_services",
"libasyncio",
"libcrypto_utils",
"libcrypto",
"libdiagnose_usb",
"libqemu_pipe",
"libbase",
"libcrypto",
"libcrypto_utils",
"libcutils",
"liblog",
],
export_include_dirs: [
@ -307,19 +394,10 @@ cc_library_static {
cc_binary {
name: "adbd",
defaults: ["adb_defaults"],
recovery_available: true,
srcs: [
"daemon/main.cpp",
"daemon/mdns.cpp",
"daemon/file_sync_service.cpp",
"daemon/framebuffer_service.cpp",
"daemon/remount_service.cpp",
"daemon/set_verity_enable_state_service.cpp",
"daemon/services.cpp",
"daemon/shell_service.cpp",
"shell_service_protocol.cpp",
],
cflags: [
@ -331,27 +409,16 @@ cc_binary {
keep_symbols: true,
},
static_libs: [
shared_libs: [
"libadbd",
"libasyncio",
"libavb_user",
"libbootloader_message",
"libcrypto_utils",
"libadbd_services",
"libbase",
"libcap",
"libcrypto",
"libdiagnose_usb",
"libfec",
"libfec_rs",
"libfs_mgr",
"libcutils",
"liblog",
"libext4_utils",
"libmdnssd",
"libminijail",
"libselinux",
"libsquashfs_utils",
"libqemu_pipe",
"libbase",
"libcutils",
],
}

View File

@ -453,10 +453,6 @@ static atransport* find_emulator_transport_by_adb_port_locked(int adb_port)
return it->second;
}
std::string getEmulatorSerialString(int console_port) {
return android::base::StringPrintf("emulator-%d", console_port);
}
atransport* find_emulator_transport_by_adb_port(int adb_port) {
std::lock_guard<std::mutex> lock(local_transports_lock);
return find_emulator_transport_by_adb_port_locked(adb_port);
@ -467,6 +463,10 @@ atransport* find_emulator_transport_by_console_port(int console_port) {
}
#endif
std::string getEmulatorSerialString(int console_port) {
return android::base::StringPrintf("emulator-%d", console_port);
}
int init_socket_transport(atransport* t, unique_fd fd, int adb_port, int local) {
int fail = 0;