diff --git a/adb/adb.c b/adb/adb.c index 9980bad65..283ebcea6 100644 --- a/adb/adb.c +++ b/adb/adb.c @@ -851,7 +851,7 @@ int adb_main(int is_daemon) HOST = 1; usb_vendors_init(); usb_init(); - local_init(); + local_init(ADB_LOCAL_TRANSPORT_PORT); if(install_listener("tcp:5037", "*smartsocket*", NULL)) { exit(1); @@ -923,13 +923,15 @@ int adb_main(int is_daemon) ** is not set, otherwise start the network transport. */ property_get("service.adb.tcp.port", value, "0"); - if (sscanf(value, "%d", &port) == 0) { - port = 0; - } - if (port == 0 && access("/dev/android_adb", F_OK) == 0) { + if (sscanf(value, "%d", &port) == 1 && port > 0) { + // listen on TCP port specified by service.adb.tcp.port property + local_init(port); + } else if (access("/dev/android_adb", F_OK) == 0) { + // listen on USB usb_init(); } else { - local_init(port); + // listen on default port + local_init(ADB_LOCAL_TRANSPORT_PORT); } init_jdwp(); #endif diff --git a/adb/adb.h b/adb/adb.h index d78275106..713666f19 100644 --- a/adb/adb.h +++ b/adb/adb.h @@ -33,7 +33,7 @@ #define ADB_VERSION_MAJOR 1 // Used for help/version information #define ADB_VERSION_MINOR 0 // Used for help/version information -#define ADB_SERVER_VERSION 24 // Increment this when we want to force users to start a new adb server +#define ADB_SERVER_VERSION 25 // Increment this when we want to force users to start a new adb server typedef struct amessage amessage; typedef struct apacket apacket; @@ -360,7 +360,7 @@ typedef enum { #define ADB_PROTOCOL 0x1 -void local_init(); +void local_init(int port); int local_connect(int port); /* usb host/client interface */