From 2776845aa534da492e90c9b3c7de094d6212c0f1 Mon Sep 17 00:00:00 2001 From: Josh Gao Date: Tue, 2 Jan 2018 12:01:43 -0800 Subject: [PATCH] adb: switch over to Android.bp. Rearrange some files while we're doing this. Bug: http://b/71721338 Test: manually ran adb on windows Change-Id: Ie47bda82279e4b9521505ad0353bf9ef649fc7d7 --- adb/Android.bp | 314 ++++++++++++++ adb/Android.mk | 387 ------------------ adb/CPPLINT.cfg | 2 - adb/adb.cpp | 4 +- adb/{ => client}/adb_client.cpp | 0 adb/{ => client}/adb_client.h | 0 adb/{adb_auth_host.cpp => client/auth.cpp} | 0 adb/{ => client}/bugreport.cpp | 0 adb/{ => client}/bugreport.h | 0 adb/{ => client}/commandline.cpp | 0 adb/{ => client}/commandline.h | 0 adb/{ => client}/console.cpp | 0 adb/{ => client}/file_sync_client.cpp | 0 adb/{ => client}/line_printer.cpp | 0 adb/{ => client}/line_printer.h | 0 adb/{ => client}/transport_mdns.cpp | 0 adb/{adbd_auth.cpp => daemon/auth.cpp} | 0 adb/{ => daemon}/file_sync_service.cpp | 0 adb/{ => daemon}/framebuffer_service.cpp | 0 adb/{ => daemon}/jdwp_service.cpp | 4 +- adb/daemon/main.cpp | 6 +- adb/{ => daemon}/remount_service.cpp | 0 .../set_verity_enable_state_service.cpp | 0 adb/{ => daemon}/shell_service.cpp | 0 adb/{ => daemon}/shell_service_test.cpp | 0 adb/transport.cpp | 5 +- adb/transport_mdns_unsupported.cpp | 18 - diagnose_usb/Android.bp | 13 + {adb => diagnose_usb}/diagnose_usb.cpp | 2 +- {adb => diagnose_usb/include}/diagnose_usb.h | 0 30 files changed, 337 insertions(+), 418 deletions(-) delete mode 100644 adb/Android.mk delete mode 100644 adb/CPPLINT.cfg rename adb/{ => client}/adb_client.cpp (100%) rename adb/{ => client}/adb_client.h (100%) rename adb/{adb_auth_host.cpp => client/auth.cpp} (100%) rename adb/{ => client}/bugreport.cpp (100%) rename adb/{ => client}/bugreport.h (100%) rename adb/{ => client}/commandline.cpp (100%) rename adb/{ => client}/commandline.h (100%) rename adb/{ => client}/console.cpp (100%) rename adb/{ => client}/file_sync_client.cpp (100%) rename adb/{ => client}/line_printer.cpp (100%) rename adb/{ => client}/line_printer.h (100%) rename adb/{ => client}/transport_mdns.cpp (100%) rename adb/{adbd_auth.cpp => daemon/auth.cpp} (100%) rename adb/{ => daemon}/file_sync_service.cpp (100%) rename adb/{ => daemon}/framebuffer_service.cpp (100%) rename adb/{ => daemon}/jdwp_service.cpp (99%) rename adb/{ => daemon}/remount_service.cpp (100%) rename adb/{ => daemon}/set_verity_enable_state_service.cpp (100%) rename adb/{ => daemon}/shell_service.cpp (100%) rename adb/{ => daemon}/shell_service_test.cpp (100%) delete mode 100644 adb/transport_mdns_unsupported.cpp create mode 100644 diagnose_usb/Android.bp rename {adb => diagnose_usb}/diagnose_usb.cpp (98%) rename {adb => diagnose_usb/include}/diagnose_usb.h (100%) diff --git a/adb/Android.bp b/adb/Android.bp index 0858a6c12..1310b06ba 100644 --- a/adb/Android.bp +++ b/adb/Android.bp @@ -12,6 +12,320 @@ // See the License for the specific language governing permissions and // limitations under the License. +cc_defaults { + name: "adb_defaults", + + cflags: [ + "-Wall", + "-Wextra", + "-Werror", + "-Wno-unused-parameter", + "-Wno-missing-field-initializers", + "-Wvla", + ], + rtti: true, + + clang_cflags: [ + "-Wexit-time-destructors", + "-Wthread-safety", + ], + + compile_multilib: "first", + product_variables: { + debuggable: { + cflags: [ + "-DALLOW_ADBD_ROOT", + "-DALLOW_ADBD_DISABLE_VERITY", + "-DALLOW_ADBD_NO_AUTH", + ], + }, + }, + + target: { + android: { + cflags: ["-DADB_HOST=0"], + }, + + host: { + cflags: ["-DADB_HOST=1"], + }, + + darwin: { + host_ldlibs: [ + "-lpthread", + "-framework CoreFoundation", + "-framework IOKit", + "-lobjc", + ], + }, + + windows: { + cflags: [ + // Define windows.h and tchar.h Unicode preprocessor symbols so that + // CreateFile(), _tfopen(), etc. map to versions that take wchar_t*, breaking the + // build if you accidentally pass char*. Fix by calling like: + // std::wstring path_wide; + // if (!android::base::UTF8ToWide(path_utf8, &path_wide)) { /* error handling */ } + // CreateFileW(path_wide.c_str()); + "-DUNICODE=1", + "-D_UNICODE=1", + + // -std=gnu++14 doesn't set _GNU_SOURCE on Windows. + "-D_GNU_SOURCE", + ], + }, + }, +} + +// libadb +// ========================================================= +// These files are compiled for both the host and the device. +libadb_srcs = [ + "adb.cpp", + "adb_io.cpp", + "adb_listeners.cpp", + "adb_trace.cpp", + "adb_utils.cpp", + "fdevent.cpp", + "services.cpp", + "sockets.cpp", + "socket_spec.cpp", + "sysdeps/errno.cpp", + "transport.cpp", + "transport_local.cpp", + "transport_usb.cpp", +] + +libadb_posix_srcs = [ + "sysdeps_unix.cpp", + "sysdeps/posix/network.cpp", +] + +libadb_test_srcs = [ + "adb_io_test.cpp", + "adb_listeners_test.cpp", + "adb_utils_test.cpp", + "fdevent_test.cpp", + "socket_spec_test.cpp", + "socket_test.cpp", + "sysdeps_test.cpp", + "sysdeps/stat_test.cpp", + "transport_test.cpp", +] + +cc_library_host_static { + name: "libadb_host", + defaults: ["adb_defaults"], + + srcs: libadb_srcs + [ + "client/auth.cpp", + "client/usb_libusb.cpp", + "client/usb_dispatch.cpp", + "client/transport_mdns.cpp", + ], + + target: { + linux: { + srcs: ["client/usb_linux.cpp"], + }, + darwin: { + srcs: ["client/usb_osx.cpp"], + }, + + not_windows: { + srcs: libadb_posix_srcs, + }, + windows: { + enabled: true, + srcs: [ + "client/usb_windows.cpp", + "sysdeps_win32.cpp", + "sysdeps/win32/errno.cpp", + "sysdeps/win32/stat.cpp", + ], + shared_libs: ["AdbWinApi"], + }, + }, + + static_libs: [ + "libbase", + "libcrypto_utils", + "libcrypto", + "libdiagnose_usb", + "libmdnssd", + "libusb", + ], +} + +cc_test_host { + name: "adb_test", + defaults: ["adb_defaults"], + srcs: libadb_test_srcs, + static_libs: [ + "libadb_host", + "libbase", + "libcutils", + "libcrypto_utils", + "libcrypto", + "libmdnssd", + "libdiagnose_usb", + "libusb", + ], +} + +cc_binary_host { + name: "adb", + tags: ["debug"], + + defaults: ["adb_defaults"], + + srcs: [ + "client/adb_client.cpp", + "client/bugreport.cpp", + "client/commandline.cpp", + "client/file_sync_client.cpp", + "client/main.cpp", + "client/console.cpp", + "client/line_printer.cpp", + "shell_service_protocol.cpp", + ], + + static_libs: [ + "libadb_host", + "libbase", + "libcutils", + "libcrypto_utils", + "libcrypto", + "libdiagnose_usb", + "liblog", + "libmdnssd", + "libusb", + ], + + stl: "libc++_static", + + // Don't add anything here, we don't want additional shared dependencies + // on the host adb tool, and shared libraries that link against libc++ + // will violate ODR + shared_libs: [], + + target: { + darwin: { + cflags: [ + "-Wno-sizeof-pointer-memaccess", + ], + }, + windows: { + enabled: true, + ldflags: ["-municode"], + host_ldlibs: [ + "-lws2_32", + "-lgdi32", + ], + + shared_libs: ["AdbWinApi"], + required: [ + "AdbWinUsbApi", + ], + }, + }, +} + +cc_library_static { + name: "libadbd", + defaults: ["adb_defaults"], + + // libminadbd wants both, for some reason. + compile_multilib: "both", + srcs: libadb_srcs + libadb_posix_srcs + [ + "daemon/auth.cpp", + "daemon/usb.cpp", + "daemon/jdwp_service.cpp", + ], + + static_libs: [ + "libasyncio", + "libbootloader_message", + "libcrypto_utils", + "libcrypto", + "libdiagnose_usb", + "libqemu_pipe", + "libbase", + ], +} + +cc_binary { + name: "adbd", + defaults: ["adb_defaults"], + + 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/shell_service.cpp", + "shell_service_protocol.cpp", + ], + + cflags: [ + "-D_GNU_SOURCE", + "-Wno-deprecated-declarations", + ], + + strip: { + keep_symbols: true, + }, + + static_libs: [ + "libadbd", + "libasyncio", + "libavb_user", + "libbootloader_message", + "libcrypto_utils", + "libcrypto", + "libdiagnose_usb", + "libfec", + "libfec_rs", + "libfs_mgr", + "liblog", + "libext4_utils", + "libmdnssd", + "libminijail", + "libselinux", + "libsquashfs_utils", + "libqemu_pipe", + "libdebuggerd_handler", + + "libbase", + "libcutils", + ], +} + +cc_test { + name: "adbd_test", + defaults: ["adb_defaults"], + srcs: libadb_test_srcs + [ + "daemon/shell_service.cpp", + "daemon/shell_service_test.cpp", + "shell_service_protocol.cpp", + "shell_service_protocol_test.cpp", + ], + + static_libs: [ + "libadbd", + "libbase", + "libcutils", + "libcrypto_utils", + "libcrypto", + "libdiagnose_usb", + "liblog", + "libusb", + "libmdnssd", + ], +} + python_binary_host { name: "adb_integration_test_adb", main: "test_adb.py", diff --git a/adb/Android.mk b/adb/Android.mk deleted file mode 100644 index e52f0cbef..000000000 --- a/adb/Android.mk +++ /dev/null @@ -1,387 +0,0 @@ -# Copyright 2005 The Android Open Source Project -# -# Android.mk for adb -# - -LOCAL_PATH:= $(call my-dir) - -include $(LOCAL_PATH)/../platform_tools_tool_version.mk - -adb_host_sanitize := -adb_target_sanitize := - -ADB_COMMON_CFLAGS := \ - -frtti \ - -Wall -Wextra -Werror \ - -Wno-unused-parameter \ - -Wno-missing-field-initializers \ - -Wvla \ - -DADB_VERSION="\"$(tool_version)\"" \ - -ADB_COMMON_posix_CFLAGS := \ - -Wexit-time-destructors \ - -Wthread-safety \ - -ADB_COMMON_linux_CFLAGS := \ - $(ADB_COMMON_posix_CFLAGS) \ - -ADB_COMMON_darwin_CFLAGS := \ - $(ADB_COMMON_posix_CFLAGS) \ - -# Define windows.h and tchar.h Unicode preprocessor symbols so that -# CreateFile(), _tfopen(), etc. map to versions that take wchar_t*, breaking the -# build if you accidentally pass char*. Fix by calling like: -# std::wstring path_wide; -# if (!android::base::UTF8ToWide(path_utf8, &path_wide)) { /* error handling */ } -# CreateFileW(path_wide.c_str()); -ADB_COMMON_windows_CFLAGS := \ - -DUNICODE=1 -D_UNICODE=1 \ - -# libadb -# ========================================================= - -# Much of adb is duplicated in bootable/recovery/minadb and fastboot. Changes -# made to adb rarely get ported to the other two, so the trees have diverged a -# bit. We'd like to stop this because it is a maintenance nightmare, but the -# divergence makes this difficult to do all at once. For now, we will start -# small by moving common files into a static library. Hopefully some day we can -# get enough of adb in here that we no longer need minadb. https://b/17626262 -LIBADB_SRC_FILES := \ - adb.cpp \ - adb_io.cpp \ - adb_listeners.cpp \ - adb_trace.cpp \ - adb_utils.cpp \ - fdevent.cpp \ - sockets.cpp \ - socket_spec.cpp \ - sysdeps/errno.cpp \ - transport.cpp \ - transport_local.cpp \ - transport_usb.cpp \ - -LIBADB_TEST_SRCS := \ - adb_io_test.cpp \ - adb_listeners_test.cpp \ - adb_utils_test.cpp \ - fdevent_test.cpp \ - socket_spec_test.cpp \ - socket_test.cpp \ - sysdeps_test.cpp \ - sysdeps/stat_test.cpp \ - transport_test.cpp \ - -LIBADB_CFLAGS := \ - $(ADB_COMMON_CFLAGS) \ - -fvisibility=hidden \ - -LIBADB_linux_CFLAGS := \ - $(ADB_COMMON_linux_CFLAGS) \ - -LIBADB_darwin_CFLAGS := \ - $(ADB_COMMON_darwin_CFLAGS) \ - -LIBADB_windows_CFLAGS := \ - $(ADB_COMMON_windows_CFLAGS) \ - -LIBADB_darwin_SRC_FILES := \ - sysdeps_unix.cpp \ - sysdeps/posix/network.cpp \ - client/usb_dispatch.cpp \ - client/usb_libusb.cpp \ - client/usb_osx.cpp \ - -LIBADB_linux_SRC_FILES := \ - sysdeps_unix.cpp \ - sysdeps/posix/network.cpp \ - client/usb_dispatch.cpp \ - client/usb_libusb.cpp \ - client/usb_linux.cpp \ - -LIBADB_windows_SRC_FILES := \ - sysdeps_win32.cpp \ - sysdeps/win32/errno.cpp \ - sysdeps/win32/stat.cpp \ - client/usb_dispatch.cpp \ - client/usb_libusb.cpp \ - client/usb_windows.cpp \ - -LIBADB_TEST_windows_SRCS := \ - sysdeps/win32/errno_test.cpp \ - sysdeps_win32_test.cpp \ - -include $(CLEAR_VARS) -LOCAL_MODULE := libadbd_usb -LOCAL_CFLAGS := $(LIBADB_CFLAGS) -DADB_HOST=0 -LOCAL_SRC_FILES := daemon/usb.cpp - -LOCAL_SANITIZE := $(adb_target_sanitize) - -# Even though we're building a static library (and thus there's no link step for -# this to take effect), this adds the includes to our path. -LOCAL_STATIC_LIBRARIES := libcrypto_utils libcrypto libbase libasyncio - -include $(BUILD_STATIC_LIBRARY) - -include $(CLEAR_VARS) -LOCAL_MODULE := libadbd -LOCAL_CFLAGS := $(LIBADB_CFLAGS) -DADB_HOST=0 -LOCAL_SRC_FILES := \ - $(LIBADB_SRC_FILES) \ - adbd_auth.cpp \ - jdwp_service.cpp \ - sysdeps/posix/network.cpp \ - -LOCAL_SANITIZE := $(adb_target_sanitize) - -# Even though we're building a static library (and thus there's no link step for -# this to take effect), this adds the includes to our path. -LOCAL_STATIC_LIBRARIES := libcrypto_utils libcrypto libqemu_pipe libbase - -LOCAL_WHOLE_STATIC_LIBRARIES := libadbd_usb - -include $(BUILD_STATIC_LIBRARY) - -include $(CLEAR_VARS) -LOCAL_MODULE := libadb -LOCAL_MODULE_HOST_OS := darwin linux windows -LOCAL_CFLAGS := $(LIBADB_CFLAGS) -DADB_HOST=1 -LOCAL_CFLAGS_windows := $(LIBADB_windows_CFLAGS) -LOCAL_CFLAGS_linux := $(LIBADB_linux_CFLAGS) -LOCAL_CFLAGS_darwin := $(LIBADB_darwin_CFLAGS) -LOCAL_SRC_FILES := \ - $(LIBADB_SRC_FILES) \ - adb_auth_host.cpp \ - transport_mdns.cpp \ - -LOCAL_SRC_FILES_darwin := $(LIBADB_darwin_SRC_FILES) -LOCAL_SRC_FILES_linux := $(LIBADB_linux_SRC_FILES) -LOCAL_SRC_FILES_windows := $(LIBADB_windows_SRC_FILES) - -LOCAL_SANITIZE := $(adb_host_sanitize) - -# Even though we're building a static library (and thus there's no link step for -# this to take effect), this adds the includes to our path. -LOCAL_STATIC_LIBRARIES := libcrypto_utils libcrypto libbase libmdnssd libusb - -LOCAL_C_INCLUDES_windows := development/host/windows/usb/api/ -LOCAL_MULTILIB := first - -include $(BUILD_HOST_STATIC_LIBRARY) - -include $(CLEAR_VARS) -LOCAL_MODULE := adbd_test -LOCAL_CFLAGS := -DADB_HOST=0 $(LIBADB_CFLAGS) -LOCAL_SRC_FILES := \ - $(LIBADB_TEST_SRCS) \ - $(LIBADB_TEST_linux_SRCS) \ - shell_service.cpp \ - shell_service_protocol.cpp \ - shell_service_protocol_test.cpp \ - shell_service_test.cpp \ - -LOCAL_SANITIZE := $(adb_target_sanitize) -LOCAL_STATIC_LIBRARIES := libadbd libcrypto_utils libcrypto libusb libmdnssd -LOCAL_SHARED_LIBRARIES := liblog libbase libcutils -include $(BUILD_NATIVE_TEST) - -# libdiagnose_usb -# ========================================================= - -include $(CLEAR_VARS) -LOCAL_MODULE := libdiagnose_usb -LOCAL_MODULE_HOST_OS := darwin linux windows -LOCAL_CFLAGS := $(LIBADB_CFLAGS) -LOCAL_SRC_FILES := diagnose_usb.cpp -# Even though we're building a static library (and thus there's no link step for -# this to take effect), this adds the includes to our path. -LOCAL_STATIC_LIBRARIES := libbase -include $(BUILD_HOST_STATIC_LIBRARY) - -# adb_test -# ========================================================= - -include $(CLEAR_VARS) -LOCAL_MODULE := adb_test -LOCAL_MODULE_HOST_OS := darwin linux windows -LOCAL_CFLAGS := -DADB_HOST=1 $(LIBADB_CFLAGS) -LOCAL_CFLAGS_windows := $(LIBADB_windows_CFLAGS) -LOCAL_CFLAGS_linux := $(LIBADB_linux_CFLAGS) -LOCAL_CFLAGS_darwin := $(LIBADB_darwin_CFLAGS) -LOCAL_SRC_FILES := \ - $(LIBADB_TEST_SRCS) \ - adb_client.cpp \ - bugreport.cpp \ - bugreport_test.cpp \ - line_printer.cpp \ - services.cpp \ - shell_service_protocol.cpp \ - shell_service_protocol_test.cpp \ - -LOCAL_SRC_FILES_linux := $(LIBADB_TEST_linux_SRCS) -LOCAL_SRC_FILES_darwin := $(LIBADB_TEST_darwin_SRCS) -LOCAL_SRC_FILES_windows := $(LIBADB_TEST_windows_SRCS) -LOCAL_SANITIZE := $(adb_host_sanitize) -LOCAL_STATIC_LIBRARIES := \ - libadb \ - libbase \ - libcrypto_utils \ - libcrypto \ - libcutils \ - libdiagnose_usb \ - libmdnssd \ - libgmock_host \ - libusb \ - -# Set entrypoint to wmain from sysdeps_win32.cpp instead of main -LOCAL_LDFLAGS_windows := -municode -LOCAL_LDLIBS_linux := -lrt -ldl -lpthread -LOCAL_LDLIBS_darwin := -framework CoreFoundation -framework IOKit -lobjc -LOCAL_LDLIBS_windows := -lws2_32 -luserenv -LOCAL_SHARED_LIBRARIES_windows := AdbWinApi - -LOCAL_MULTILIB := first - -include $(BUILD_HOST_NATIVE_TEST) - -# adb host tool -# ========================================================= -include $(CLEAR_VARS) - -LOCAL_LDLIBS_linux := -lrt -ldl -lpthread - -LOCAL_LDLIBS_darwin := -lpthread -framework CoreFoundation -framework IOKit -framework Carbon -lobjc - -# Use wmain instead of main -LOCAL_LDFLAGS_windows := -municode -LOCAL_LDLIBS_windows := -lws2_32 -lgdi32 -LOCAL_SHARED_LIBRARIES_windows := AdbWinApi -LOCAL_REQUIRED_MODULES_windows := AdbWinUsbApi - -LOCAL_SRC_FILES := \ - adb_client.cpp \ - bugreport.cpp \ - client/main.cpp \ - console.cpp \ - commandline.cpp \ - file_sync_client.cpp \ - line_printer.cpp \ - services.cpp \ - shell_service_protocol.cpp \ - -LOCAL_CFLAGS += \ - $(ADB_COMMON_CFLAGS) \ - -D_GNU_SOURCE \ - -DADB_HOST=1 \ - -LOCAL_CFLAGS_windows := \ - $(ADB_COMMON_windows_CFLAGS) - -LOCAL_CFLAGS_linux := \ - $(ADB_COMMON_linux_CFLAGS) \ - -LOCAL_CFLAGS_darwin := \ - $(ADB_COMMON_darwin_CFLAGS) \ - -Wno-sizeof-pointer-memaccess -Wno-unused-parameter \ - -LOCAL_MODULE := adb -LOCAL_MODULE_TAGS := debug -LOCAL_MODULE_HOST_OS := darwin linux windows - -LOCAL_SANITIZE := $(adb_host_sanitize) -LOCAL_STATIC_LIBRARIES := \ - libadb \ - libbase \ - libcrypto_utils \ - libcrypto \ - libdiagnose_usb \ - liblog \ - libmdnssd \ - libusb \ - -# Don't use libcutils on Windows. -LOCAL_STATIC_LIBRARIES_darwin := libcutils -LOCAL_STATIC_LIBRARIES_linux := libcutils - -LOCAL_CXX_STL := libc++_static - -# Don't add anything here, we don't want additional shared dependencies -# on the host adb tool, and shared libraries that link against libc++ -# will violate ODR -LOCAL_SHARED_LIBRARIES := - -include $(BUILD_HOST_EXECUTABLE) - -$(call dist-for-goals,dist_files sdk win_sdk,$(LOCAL_BUILT_MODULE)) -ifdef HOST_CROSS_OS -# Archive adb.exe for win_sdk build. -$(call dist-for-goals,win_sdk,$(ALL_MODULES.host_cross_adb.BUILT)) -endif - - -# adbd device daemon -# ========================================================= - -include $(CLEAR_VARS) - -LOCAL_SRC_FILES := \ - daemon/main.cpp \ - daemon/mdns.cpp \ - services.cpp \ - file_sync_service.cpp \ - framebuffer_service.cpp \ - remount_service.cpp \ - set_verity_enable_state_service.cpp \ - shell_service.cpp \ - shell_service_protocol.cpp \ - -LOCAL_CFLAGS := \ - $(ADB_COMMON_CFLAGS) \ - $(ADB_COMMON_linux_CFLAGS) \ - -DADB_HOST=0 \ - -D_GNU_SOURCE \ - -Wno-deprecated-declarations \ - -LOCAL_CFLAGS += -DALLOW_ADBD_NO_AUTH=$(if $(filter userdebug eng,$(TARGET_BUILD_VARIANT)),1,0) - -ifneq (,$(filter userdebug eng,$(TARGET_BUILD_VARIANT))) -LOCAL_CFLAGS += -DALLOW_ADBD_DISABLE_VERITY=1 -LOCAL_CFLAGS += -DALLOW_ADBD_ROOT=1 -endif - -LOCAL_MODULE := adbd - -LOCAL_FORCE_STATIC_EXECUTABLE := true - -LOCAL_SANITIZE := $(adb_target_sanitize) -LOCAL_STRIP_MODULE := keep_symbols -LOCAL_STATIC_LIBRARIES := \ - libadbd \ - libasyncio \ - libavb_user \ - libbase \ - libqemu_pipe \ - libbootloader_message \ - libfs_mgr \ - libfec \ - libfec_rs \ - libselinux \ - liblog \ - libext4_utils \ - libsquashfs_utils \ - libcutils \ - libbase \ - libcrypto_utils \ - libcrypto \ - libminijail \ - libmdnssd \ - libdebuggerd_handler \ - -include $(BUILD_EXECUTABLE) - -# adb integration test -# ========================================================= -$(call dist-for-goals,sdk,$(ALL_MODULES.adb_integration_test_adb.BUILT)) -$(call dist-for-goals,sdk,$(ALL_MODULES.adb_integration_test_device.BUILT)) - -include $(call first-makefiles-under,$(LOCAL_PATH)) diff --git a/adb/CPPLINT.cfg b/adb/CPPLINT.cfg deleted file mode 100644 index f496490cc..000000000 --- a/adb/CPPLINT.cfg +++ /dev/null @@ -1,2 +0,0 @@ -set noparent -filter=-build/header_guard,-build/include,-readability/function,-whitespace/indent diff --git a/adb/adb.cpp b/adb/adb.cpp index c4df5c4b9..38eb1f5aa 100644 --- a/adb/adb.cpp +++ b/adb/adb.cpp @@ -64,9 +64,9 @@ std::string adb_version() { // Don't change the format of this --- it's parsed by ddmlib. return android::base::StringPrintf( "Android Debug Bridge version %d.%d.%d\n" - "Version %s\n" + "Version TODO: b/71719137\n" "Installed as %s\n", - ADB_VERSION_MAJOR, ADB_VERSION_MINOR, ADB_SERVER_VERSION, ADB_VERSION, + ADB_VERSION_MAJOR, ADB_VERSION_MINOR, ADB_SERVER_VERSION, android::base::GetExecutablePath().c_str()); } diff --git a/adb/adb_client.cpp b/adb/client/adb_client.cpp similarity index 100% rename from adb/adb_client.cpp rename to adb/client/adb_client.cpp diff --git a/adb/adb_client.h b/adb/client/adb_client.h similarity index 100% rename from adb/adb_client.h rename to adb/client/adb_client.h diff --git a/adb/adb_auth_host.cpp b/adb/client/auth.cpp similarity index 100% rename from adb/adb_auth_host.cpp rename to adb/client/auth.cpp diff --git a/adb/bugreport.cpp b/adb/client/bugreport.cpp similarity index 100% rename from adb/bugreport.cpp rename to adb/client/bugreport.cpp diff --git a/adb/bugreport.h b/adb/client/bugreport.h similarity index 100% rename from adb/bugreport.h rename to adb/client/bugreport.h diff --git a/adb/commandline.cpp b/adb/client/commandline.cpp similarity index 100% rename from adb/commandline.cpp rename to adb/client/commandline.cpp diff --git a/adb/commandline.h b/adb/client/commandline.h similarity index 100% rename from adb/commandline.h rename to adb/client/commandline.h diff --git a/adb/console.cpp b/adb/client/console.cpp similarity index 100% rename from adb/console.cpp rename to adb/client/console.cpp diff --git a/adb/file_sync_client.cpp b/adb/client/file_sync_client.cpp similarity index 100% rename from adb/file_sync_client.cpp rename to adb/client/file_sync_client.cpp diff --git a/adb/line_printer.cpp b/adb/client/line_printer.cpp similarity index 100% rename from adb/line_printer.cpp rename to adb/client/line_printer.cpp diff --git a/adb/line_printer.h b/adb/client/line_printer.h similarity index 100% rename from adb/line_printer.h rename to adb/client/line_printer.h diff --git a/adb/transport_mdns.cpp b/adb/client/transport_mdns.cpp similarity index 100% rename from adb/transport_mdns.cpp rename to adb/client/transport_mdns.cpp diff --git a/adb/adbd_auth.cpp b/adb/daemon/auth.cpp similarity index 100% rename from adb/adbd_auth.cpp rename to adb/daemon/auth.cpp diff --git a/adb/file_sync_service.cpp b/adb/daemon/file_sync_service.cpp similarity index 100% rename from adb/file_sync_service.cpp rename to adb/daemon/file_sync_service.cpp diff --git a/adb/framebuffer_service.cpp b/adb/daemon/framebuffer_service.cpp similarity index 100% rename from adb/framebuffer_service.cpp rename to adb/daemon/framebuffer_service.cpp diff --git a/adb/jdwp_service.cpp b/adb/daemon/jdwp_service.cpp similarity index 99% rename from adb/jdwp_service.cpp rename to adb/daemon/jdwp_service.cpp index 6f5396a8f..976155884 100644 --- a/adb/jdwp_service.cpp +++ b/adb/daemon/jdwp_service.cpp @@ -128,7 +128,7 @@ static void jdwp_process_event(int socket, unsigned events, void* _proc); static void jdwp_process_list_updated(void); struct JdwpProcess; -static std::list> _jdwp_list; +static auto& _jdwp_list = *new std::list>(); struct JdwpProcess { explicit JdwpProcess(int socket) { @@ -511,7 +511,7 @@ struct JdwpTracker : public asocket { bool need_initial; }; -static std::vector> _jdwp_trackers; +static auto& _jdwp_trackers = *new std::vector>(); static void jdwp_process_list_updated(void) { std::string data; diff --git a/adb/daemon/main.cpp b/adb/daemon/main.cpp index 3c2758276..9b25a0776 100644 --- a/adb/daemon/main.cpp +++ b/adb/daemon/main.cpp @@ -158,9 +158,9 @@ int adbd_main(int server_port) { // descriptor will always be open. adbd_cloexec_auth_socket(); - if (ALLOW_ADBD_NO_AUTH && !android::base::GetBoolProperty("ro.adb.secure", false)) { - auth_required = false; - } +#if defined(ALLOW_ADBD_NO_AUTH) + auth_required = android::base::GetBoolProperty("ro.adb.secure", true); +#endif adbd_auth_init(); diff --git a/adb/remount_service.cpp b/adb/daemon/remount_service.cpp similarity index 100% rename from adb/remount_service.cpp rename to adb/daemon/remount_service.cpp diff --git a/adb/set_verity_enable_state_service.cpp b/adb/daemon/set_verity_enable_state_service.cpp similarity index 100% rename from adb/set_verity_enable_state_service.cpp rename to adb/daemon/set_verity_enable_state_service.cpp diff --git a/adb/shell_service.cpp b/adb/daemon/shell_service.cpp similarity index 100% rename from adb/shell_service.cpp rename to adb/daemon/shell_service.cpp diff --git a/adb/shell_service_test.cpp b/adb/daemon/shell_service_test.cpp similarity index 100% rename from adb/shell_service_test.cpp rename to adb/daemon/shell_service_test.cpp diff --git a/adb/transport.cpp b/adb/transport.cpp index 6b1a00bf1..e7a94d517 100644 --- a/adb/transport.cpp +++ b/adb/transport.cpp @@ -38,12 +38,13 @@ #include #include +#include + #include "adb.h" #include "adb_auth.h" #include "adb_io.h" #include "adb_trace.h" #include "adb_utils.h" -#include "diagnose_usb.h" #include "fdevent.h" static void transport_unref(atransport *t); @@ -736,9 +737,7 @@ atransport* acquire_one_transport(TransportType type, const char* serial, Transp std::unique_lock lock(transport_lock); for (const auto& t : transport_list) { if (t->GetConnectionState() == kCsNoPerm) { -#if ADB_HOST *error_out = UsbNoPermissionsLongHelpText(); -#endif continue; } diff --git a/adb/transport_mdns_unsupported.cpp b/adb/transport_mdns_unsupported.cpp deleted file mode 100644 index 387d34132..000000000 --- a/adb/transport_mdns_unsupported.cpp +++ /dev/null @@ -1,18 +0,0 @@ -/* - * Copyright (C) 2016 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* For when mDNS discovery is unsupported */ -void init_mdns_transport_discovery(void) {} diff --git a/diagnose_usb/Android.bp b/diagnose_usb/Android.bp new file mode 100644 index 000000000..a7ecf3737 --- /dev/null +++ b/diagnose_usb/Android.bp @@ -0,0 +1,13 @@ +cc_library_static { + name: "libdiagnose_usb", + cflags: ["-Wall", "-Wextra", "-Werror"], + host_supported: true, + target: { + windows: { + enabled: true, + }, + }, + srcs: ["diagnose_usb.cpp"], + export_include_dirs: ["include"], + static_libs: ["libbase"], +} diff --git a/adb/diagnose_usb.cpp b/diagnose_usb/diagnose_usb.cpp similarity index 98% rename from adb/diagnose_usb.cpp rename to diagnose_usb/diagnose_usb.cpp index 9f721bf5f..5695ecec5 100644 --- a/adb/diagnose_usb.cpp +++ b/diagnose_usb/diagnose_usb.cpp @@ -33,7 +33,7 @@ static const char kPermissionsHelpUrl[] = "http://developer.android.com/tools/de // Returns a message describing any potential problems we find with udev, or an empty string if we // can't find plugdev information (i.e. udev is not installed). static std::string GetUdevProblem() { -#if defined(__linux__) +#if defined(__linux__) && !defined(__BIONIC__) errno = 0; group* plugdev_group = getgrnam("plugdev"); diff --git a/adb/diagnose_usb.h b/diagnose_usb/include/diagnose_usb.h similarity index 100% rename from adb/diagnose_usb.h rename to diagnose_usb/include/diagnose_usb.h