mirror of
https://github.com/multirom-nexus6p/multirom_adbd.git
synced 2025-11-04 05:35:34 +08:00
Modify for build with MultiROM
Based on Tassadar and nkk71's patches
This commit is contained in:
144
Android.mk
144
Android.mk
@@ -65,7 +65,7 @@ LIBADB_windows_SRC_FILES := \
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_CLANG := true
|
||||
LOCAL_MODULE := libadbd
|
||||
LOCAL_MODULE := libmrom_adbd
|
||||
LOCAL_CFLAGS := $(LIBADB_CFLAGS) -DADB_HOST=0
|
||||
LOCAL_SRC_FILES := \
|
||||
$(LIBADB_SRC_FILES) \
|
||||
@@ -79,138 +79,6 @@ LOCAL_SHARED_LIBRARIES := libbase
|
||||
|
||||
include $(BUILD_STATIC_LIBRARY)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_CLANG := $(adb_host_clang)
|
||||
LOCAL_MODULE := libadb
|
||||
LOCAL_CFLAGS := $(LIBADB_CFLAGS) -DADB_HOST=1
|
||||
LOCAL_SRC_FILES := \
|
||||
$(LIBADB_SRC_FILES) \
|
||||
$(LIBADB_$(HOST_OS)_SRC_FILES) \
|
||||
adb_auth_host.cpp \
|
||||
|
||||
LOCAL_SHARED_LIBRARIES := libbase
|
||||
|
||||
# Even though we're building a static library (and thus there's no link step for
|
||||
# this to take effect), this adds the SSL includes to our path.
|
||||
LOCAL_STATIC_LIBRARIES := libcrypto_static
|
||||
|
||||
ifeq ($(HOST_OS),windows)
|
||||
LOCAL_C_INCLUDES += development/host/windows/usb/api/
|
||||
endif
|
||||
|
||||
include $(BUILD_HOST_STATIC_LIBRARY)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_CLANG := true
|
||||
LOCAL_MODULE := adbd_test
|
||||
LOCAL_CFLAGS := -DADB_HOST=0 $(LIBADB_CFLAGS)
|
||||
LOCAL_SRC_FILES := $(LIBADB_TEST_SRCS)
|
||||
LOCAL_STATIC_LIBRARIES := libadbd
|
||||
LOCAL_SHARED_LIBRARIES := liblog libbase libcutils
|
||||
include $(BUILD_NATIVE_TEST)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_CLANG := $(adb_host_clang)
|
||||
LOCAL_MODULE := adb_test
|
||||
LOCAL_CFLAGS := -DADB_HOST=1 $(LIBADB_CFLAGS)
|
||||
LOCAL_SRC_FILES := $(LIBADB_TEST_SRCS) services.cpp
|
||||
LOCAL_SHARED_LIBRARIES := liblog libbase
|
||||
LOCAL_STATIC_LIBRARIES := \
|
||||
libadb \
|
||||
libcrypto_static \
|
||||
libcutils \
|
||||
|
||||
ifeq ($(HOST_OS),linux)
|
||||
LOCAL_LDLIBS += -lrt -ldl -lpthread
|
||||
endif
|
||||
|
||||
ifeq ($(HOST_OS),darwin)
|
||||
LOCAL_LDLIBS += -framework CoreFoundation -framework IOKit
|
||||
endif
|
||||
|
||||
include $(BUILD_HOST_NATIVE_TEST)
|
||||
|
||||
# adb device tracker (used by ddms) test tool
|
||||
# =========================================================
|
||||
|
||||
ifeq ($(HOST_OS),linux)
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_CLANG := $(adb_host_clang)
|
||||
LOCAL_MODULE := adb_device_tracker_test
|
||||
LOCAL_CFLAGS := -DADB_HOST=1 $(LIBADB_CFLAGS)
|
||||
LOCAL_SRC_FILES := test_track_devices.cpp
|
||||
LOCAL_SHARED_LIBRARIES := liblog libbase
|
||||
LOCAL_STATIC_LIBRARIES := libadb libcrypto_static libcutils
|
||||
LOCAL_LDLIBS += -lrt -ldl -lpthread
|
||||
include $(BUILD_HOST_EXECUTABLE)
|
||||
endif
|
||||
|
||||
# adb host tool
|
||||
# =========================================================
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
ifeq ($(HOST_OS),linux)
|
||||
LOCAL_LDLIBS += -lrt -ldl -lpthread
|
||||
LOCAL_CFLAGS += -DWORKAROUND_BUG6558362
|
||||
endif
|
||||
|
||||
ifeq ($(HOST_OS),darwin)
|
||||
LOCAL_LDLIBS += -lpthread -framework CoreFoundation -framework IOKit -framework Carbon
|
||||
LOCAL_CFLAGS += -Wno-sizeof-pointer-memaccess -Wno-unused-parameter
|
||||
endif
|
||||
|
||||
ifeq ($(HOST_OS),windows)
|
||||
LOCAL_LDLIBS += -lws2_32 -lgdi32
|
||||
EXTRA_STATIC_LIBS := AdbWinApi
|
||||
endif
|
||||
|
||||
LOCAL_CLANG := $(adb_host_clang)
|
||||
|
||||
LOCAL_SRC_FILES := \
|
||||
adb_main.cpp \
|
||||
console.cpp \
|
||||
commandline.cpp \
|
||||
adb_client.cpp \
|
||||
services.cpp \
|
||||
file_sync_client.cpp \
|
||||
|
||||
LOCAL_CFLAGS += \
|
||||
$(ADB_COMMON_CFLAGS) \
|
||||
-D_GNU_SOURCE \
|
||||
-DADB_HOST=1 \
|
||||
|
||||
LOCAL_MODULE := adb
|
||||
LOCAL_MODULE_TAGS := debug
|
||||
|
||||
LOCAL_STATIC_LIBRARIES := \
|
||||
libadb \
|
||||
libbase \
|
||||
libcrypto_static \
|
||||
libcutils \
|
||||
liblog \
|
||||
$(EXTRA_STATIC_LIBS) \
|
||||
|
||||
# libc++ not available on windows yet
|
||||
ifneq ($(HOST_OS),windows)
|
||||
LOCAL_CXX_STL := libc++_static
|
||||
endif
|
||||
|
||||
# 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,$(LOCAL_BUILT_MODULE))
|
||||
|
||||
ifeq ($(HOST_OS),windows)
|
||||
$(LOCAL_INSTALLED_MODULE): \
|
||||
$(HOST_OUT_EXECUTABLES)/AdbWinApi.dll \
|
||||
$(HOST_OUT_EXECUTABLES)/AdbWinUsbApi.dll
|
||||
endif
|
||||
|
||||
|
||||
# adbd device daemon
|
||||
# =========================================================
|
||||
|
||||
@@ -239,15 +107,17 @@ LOCAL_CFLAGS += -DALLOW_ADBD_DISABLE_VERITY=1
|
||||
LOCAL_CFLAGS += -DALLOW_ADBD_ROOT=1
|
||||
endif
|
||||
|
||||
LOCAL_MODULE := adbd
|
||||
LOCAL_MODULE := mrom_adbd
|
||||
|
||||
LOCAL_FORCE_STATIC_EXECUTABLE := true
|
||||
LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT_SBIN)
|
||||
LOCAL_UNSTRIPPED_PATH := $(TARGET_ROOT_OUT_SBIN_UNSTRIPPED)
|
||||
#LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT_SBIN)
|
||||
#LOCAL_UNSTRIPPED_PATH := $(TARGET_ROOT_OUT_SBIN_UNSTRIPPED)
|
||||
LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)
|
||||
LOCAL_UNSTRIPPED_PATH := $(TARGET_OUT_EXECUTABLES_UNSTRIPPED)
|
||||
LOCAL_C_INCLUDES += system/extras/ext4_utils
|
||||
|
||||
LOCAL_STATIC_LIBRARIES := \
|
||||
libadbd \
|
||||
libmrom_adbd \
|
||||
libbase \
|
||||
libfs_mgr \
|
||||
liblog \
|
||||
|
||||
4
adb.cpp
4
adb.cpp
@@ -193,7 +193,9 @@ void adb_trace_init() {
|
||||
}
|
||||
|
||||
#if !ADB_HOST
|
||||
start_device_log();
|
||||
// MultiROM: disable, it crashes due to property_get call because
|
||||
// the property system isn't set-up while in MultiROM
|
||||
//start_device_log();
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
11
adb_main.cpp
11
adb_main.cpp
@@ -110,6 +110,10 @@ static void drop_capabilities_bounding_set_if_needed() {
|
||||
|
||||
static bool should_drop_privileges() {
|
||||
#if defined(ALLOW_ADBD_ROOT)
|
||||
//nkk71: MultiROM doesn't setup property service at boot
|
||||
#ifdef DONT_DROP_ROOT
|
||||
return 0;
|
||||
#else
|
||||
char value[PROPERTY_VALUE_MAX];
|
||||
|
||||
// The emulator is never secure, so don't drop privileges there.
|
||||
@@ -153,6 +157,7 @@ static bool should_drop_privileges() {
|
||||
}
|
||||
|
||||
return drop;
|
||||
#endif /* DONT_DROP_ROOT */
|
||||
#else
|
||||
return true; // "adb root" not allowed, always drop privileges.
|
||||
#endif /* ALLOW_ADBD_ROOT */
|
||||
@@ -204,8 +209,11 @@ void start_logging(void)
|
||||
int adb_main(int is_daemon, int server_port)
|
||||
{
|
||||
#if !ADB_HOST
|
||||
// MultiROM: disable, property_get fails in MultiROM environment
|
||||
/*
|
||||
int port;
|
||||
char value[PROPERTY_VALUE_MAX];
|
||||
*/
|
||||
|
||||
umask(000);
|
||||
#endif
|
||||
@@ -306,6 +314,8 @@ int adb_main(int is_daemon, int server_port)
|
||||
usb = 1;
|
||||
}
|
||||
|
||||
// MultiROM: disable, property_get fails in MultiROM environment
|
||||
/*
|
||||
// If one of these properties is set, also listen on that port
|
||||
// If one of the properties isn't set and we couldn't listen on usb,
|
||||
// listen on the default port.
|
||||
@@ -321,6 +331,7 @@ int adb_main(int is_daemon, int server_port)
|
||||
// listen on default port
|
||||
local_init(DEFAULT_ADB_LOCAL_TRANSPORT_PORT);
|
||||
}
|
||||
*/
|
||||
|
||||
D("adb_main(): pre init_jdwp()\n");
|
||||
init_jdwp();
|
||||
|
||||
@@ -344,7 +344,8 @@ static int create_subproc_raw(const char *cmd, const char *arg0, const char *arg
|
||||
#define SHELL_COMMAND "/bin/sh"
|
||||
#define ALTERNATE_SHELL_COMMAND ""
|
||||
#else
|
||||
#define SHELL_COMMAND "/system/bin/sh"
|
||||
//nkk71 #define SHELL_COMMAND "/system/bin/sh"
|
||||
#define SHELL_COMMAND "/mrom_bin/sh"
|
||||
#define ALTERNATE_SHELL_COMMAND "/sbin/sh"
|
||||
#endif
|
||||
|
||||
|
||||
Reference in New Issue
Block a user