From 1dd55c53af264b24319d721281fe32c67c053120 Mon Sep 17 00:00:00 2001 From: "Mike J. Chen" Date: Fri, 20 Jul 2012 18:16:21 -0700 Subject: Allow adb to listen both on usb and tcp. (cherry picked from commit ae868a40459a6bcb89d8a4426503fea0c8002b25 in master) Change-Id: I980c7c5e8affbc8627d17b1d9303b002adcdb29a Signed-off-by: Mike J. Chen Conflicts: adb/adb.c --- adb/adb.c | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/adb/adb.c b/adb/adb.c index 6ec4f7af..200fc3ca 100644 --- a/adb/adb.c +++ b/adb/adb.c @@ -1075,25 +1075,29 @@ int adb_main(int is_daemon, int server_port) } } - /* for the device, start the usb transport if the - ** android usb device exists and the "service.adb.tcp.port" and - ** "persist.adb.tcp.port" properties are not set. - ** Otherwise start the network transport. - */ + int usb = 0; + if (access(USB_ADB_PATH, F_OK) == 0 || access(USB_FFS_ADB_EP0, F_OK) == 0) { + // listen on USB + usb_init(); + usb = 1; + } + + // 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. property_get("service.adb.tcp.port", value, ""); - if (!value[0]) + if (!value[0]) { property_get("persist.adb.tcp.port", value, ""); + } if (sscanf(value, "%d", &port) == 1 && port > 0) { + printf("using port=%d\n", port); // listen on TCP port specified by service.adb.tcp.port property local_init(port); - } else if (access(USB_ADB_PATH, F_OK) == 0 || - access(USB_FFS_ADB_EP0, F_OK) == 0) { - // listen on USB - usb_init(); - } else { + } else if (!usb) { // listen on default port local_init(DEFAULT_ADB_LOCAL_TRANSPORT_PORT); } + D("adb_main(): pre init_jdwp()\n"); init_jdwp(); D("adb_main(): post init_jdwp()\n"); -- cgit v1.2.3