summaryrefslogtreecommitdiffstats
path: root/adb/adb.c
diff options
context:
space:
mode:
authorJoe Onorato <joeo@google.com>2011-12-07 17:50:28 -0800
committerJoe Onorato <joeo@google.com>2011-12-07 17:50:28 -0800
commitae868a40459a6bcb89d8a4426503fea0c8002b25 (patch)
treefd7cc38815d74f19feb7bcb0c568bb6e9977b4d3 /adb/adb.c
parent7ca9e279ca67f1054310787dfc912339ef3eb284 (diff)
downloadsystem_core-ae868a40459a6bcb89d8a4426503fea0c8002b25.zip
system_core-ae868a40459a6bcb89d8a4426503fea0c8002b25.tar.gz
system_core-ae868a40459a6bcb89d8a4426503fea0c8002b25.tar.bz2
Allow adb to listen both on usb and tcp.
Change-Id: I98db594241631fa17e39686727392afc8b3124bc
Diffstat (limited to 'adb/adb.c')
-rw-r--r--adb/adb.c25
1 files changed, 15 insertions, 10 deletions
diff --git a/adb/adb.c b/adb/adb.c
index e35c334..e7a28d2 100644
--- a/adb/adb.c
+++ b/adb/adb.c
@@ -940,24 +940,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("/dev/android_adb", 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("/dev/android_adb", 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");