Commit Graph

64 Commits

Author SHA1 Message Date
Christopher Tate 5b811fa5dd Tidy up the end-of-data handling in backup
* Increase transfer buffer size to 32K
* Add logging about error conditions and fd teardown
* Pass the fd number as a command line option to the 'bu' subprocess
* Properly harvest the 'bu' subprocess after it's done

Change-Id: Id44dde25778ecf43c5604fd9d01d726ba58861e5
2011-06-20 16:19:42 -07:00
Christopher Tate c9cd3b9761 Make 'adb backup' -f handling more bulletproof and more flexible
* "adb backup" as the entire command line no longer crashes

* The "-f filename" option can now appear anywhere in the command line.
  A trailing "-f" at EOL prompts an error message and usage summary.

Change-Id: I040ed73c2ca3687e265e35600eb3ab2b3c879695
2011-06-01 17:56:23 -07:00
Christopher Tate 702967afb1 Add 'adb restore' to parallel 'adb backup'
It won't actually do anything until the 'bu' tool and framework are
updated to respond properly, but this is the adb side of the
necessary infrastructure: we copy the tarfile into the socket pointed
at the device, using the existing mechanisms.

Change-Id: Ic3b5779ade256bd1ad989a94b0685f7b1a7d59d2
2011-05-17 15:52:54 -07:00
Christopher Tate 574ebc41f8 Merge "Add 'adb backup' for pulling a full backup tarfile to the host" 2011-05-11 12:51:14 -07:00
Christopher Tate d2f5415c60 Add 'adb backup' for pulling a full backup tarfile to the host
The direct command interfaces with the 'bu' binary in /system/bin
on the device.

Change-Id: I4cd69eedfe5144c47277573c5626c6ad8755d70b
2011-04-27 15:27:23 -07:00
Mike Lockwood 224f9485f1 am 81ce51da: am 55537c34: am 2f7995ee: Merge "adb: fix typo in helptext"
* commit '81ce51dae95deb0dc6b07cbd96bd07d08aad5178':
  adb: fix typo in helptext
2011-04-26 16:06:04 -07:00
Bernhard Reutner-Fischer 6715a4390f adb: fix typo in helptext
s/ocmmand/command

Change-Id: I4ed17e8df9dc71a28e1caef5a21f6351e92628af
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2011-04-26 12:53:55 +02:00
JP Abgrall 408fa57864 adb: fix subprocess exit handling, oom adjust fixes, extra debugging.
* Add support for correctly handling subprocess termination in shell service  (b/3400254 b/3482112 b/2249397)
 - have a waitpid() track the subprocess, then notify the fdevent via a socket
 - force an eof on the pty master in fdevent's new subproc handler.
 - modify fdevent to force-read the pty after an exit.
* Migrate the "shell:blabla" handling to "#if !ADB_HOST" sections, where it
 belongs.
* Fix the race around OOM adjusting.
  - Do it in the child before exec() instead of the in the parent as the
   child could already have started or not (no /proc/pid/... yet).
* Allow for multi-threaded D() invocations to not clobber each other.
  - Allow locks across object files.
  - Add lock within D()
  - Make sure sysdesp init (mutex init also) is called early.
* Add some missing close(fd) calls
  - Match similar existing practices near dup2()
* Add extra D() invocations related to FD handling.
* Warn about using debugging as stderr/stdout is used for protocol.
* Fix some errno handling and make D() correctly handle it.
* Add new adb trace_mask: services.
* Make fdevent_loop's handle BADFDs more gracefully (could occur some subproc closed its pts explicitely).
* Remove obsolete commandline args reported in help. (b/3509092)


Change-Id: I928287fdf4f1a86777e22ce105f9581685f46e35
2011-03-28 14:12:22 -07:00
JP Abgrall 0e7c4274c6 Revert "Fix adb hang when subprocess dies early."
This is for http://b/3482112 "adb interactions with device causing test harness failures".

This reverts commit 69c5c4c45b.

Change-Id: I630bf2e04d2ecf0223bd2af4e87136754ff880d3
2011-02-23 18:49:00 -08:00
JP Abgrall 69c5c4c45b Fix adb hang when subprocess dies early.
* Handling of the subprocess and its FD.
  This fixes http://b/3400254 "Many bugreports getting hung at the end in monkey"
  -  Start up a service thread that waits on the subprocess to terminate,
then closes the FD associated with it.
  -  Have the event handler select() with a timeout so that it can
  detect the closed FD. Select() with no timeout does not return when an FD is closed.
  - Have the event handler force a read on the closed FD to trigger the close sequence.
  - Migrate the "shell:blabla" handling to "#if !ADB_HOST" sections.
* Fix the race around OOM adjusting.
  - Do it in the child before exec() instead of the in the parent as the
   child could already have started or not (no /proc/pid/... yet).
* Allow for multi-threaded D() invocations to not clobber each other.
  - Allow locks across object files.
  - Add lock within D()
* Add some missing close(fd) calls
  - Match similar existing practices near dup2()
* Add extra D() invocations related to FD handling.
* Warn about using debugging as stderr/stdout is used for protocol.

Change-Id: Ie5c4a5e6bfbe3f22201adf5f9a205d32e069bf9d
Signed-off-by: JP Abgrall <jpa@google.com>
2011-02-18 14:16:59 -08:00
David 'Digit' Turner eb5df470e6 adb: Fix command-line parser.
This fixes the command-line parser to accept both "daemon server"
and "server nodaemon". Before the patch, the second string would
ignore the "nodaemon" flag.

Fixes b/2191598

Change-Id: Ie922b3e7bf57a6e334fc448cec33fb340ca6abc4
2011-02-03 15:26:43 -05:00
Daniel Sandler 9c73d17e87 Support an additional alias for 'adb shell.'
Change-Id: Ie8d667407fef8ee5a6c7ab86b30307fb61869170
2011-02-03 15:26:29 -05:00
David 'Digit' Turner 305b4b0f60 adb: Fix command-line parser.
This fixes the command-line parser to accept both "daemon server"
and "server nodaemon". Before the patch, the second string would
ignore the "nodaemon" flag.

Fixes b/2191598

Change-Id: Ie922b3e7bf57a6e334fc448cec33fb340ca6abc4
2011-01-31 14:23:56 +01:00
Daniel Sandler ff91ab855b Support an additional alias for 'adb shell.'
Change-Id: Ie8d667407fef8ee5a6c7ab86b30307fb61869170
2010-08-19 01:10:18 -04:00
The Android Open Source Project f7e148c1bc merge from open-source master
Change-Id: I9b051ebd6e785e4d68e148a005a0485e79aa55ea
2010-06-03 09:09:17 -07:00
Mike Lockwood cbbe79add1 adb connect and disconnect improvements:
Port number is now optional.  Will use default port 5555 if not specified.
"adb disconnect" with no additional arguments will disconnect all TCP devices.

Change-Id: I7fc26528ed85e66a73b8f6254cea7bf83d98109f
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-06-02 11:31:26 -04:00
The Android Open Source Project 456688bfb4 merge from open-source master
Change-Id: I99ae03ba51ee185b9cfecf4f26e94a757f3815c2
2010-06-02 08:14:33 -07:00
Mike Lockwood 67d5358e2a adb: remove obsolete shell history support.
Change-Id: I85a7cda176ca3bb7cb9f96e18556d53daaac3023
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-05-25 13:40:15 -04:00
The Android Open Source Project e57d89186d merge from open-source master
Change-Id: Ibc1c58aa757910f2b00acf6883127dd027f01d73
2010-05-03 16:32:46 -07:00
Tim cd64315f72 Add documentation for some adb environmental variables.
The ADB_TRACE one is particularly important.

Change-Id: I125a5930c43065c8cf505eea40d20e3f209bc858
2010-04-29 07:41:50 -07:00
The Android Open Source Project 9a22c68e86 merge from open-source master
Change-Id: Id824d3427cb4808a8768f14e7b46c0eaf5e02e73
2010-04-28 12:58:12 -07:00
Stefan Hilzinger a84a42eb20 Make adb's daemon-port on the host machine configurable.
This is the first CL of a somewhat larger effort which, among other things,
will involve changing the emulator and ddms to talk to adb running on a
configurable port.

The port can be configured using environment variable ANDROID_ADB_SERVER_PORT.

Further CLs will also address the set of ports used for the local transport.

Change-Id: Ib2f431801f0adcd9f2dd290a28005644a36a780a
2010-04-28 11:38:34 -04:00
Brian Carlstrom 805c4a7030 Add missing newlines to adb usage message 2010-04-28 11:32:53 -04:00
Mike Lockwood c519c00c36 adb: do not mix printf() with write() when writing to stdout.
Change-Id: I3598cc951778080bec9a21d646656d5aba57120a
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-04-28 11:32:20 -04:00
The Android Open Source Project 3523412f43 merge from open-source master
Change-Id: Ib9250bd9d73664b07facaef362beba57a1519411
2010-04-20 07:28:23 -07:00
Anthony Newnam 705c944c0e Add -l option to `adb sync`
Change-Id: I87c01663dff319dde24b70560e6fe5647ebf9d49
2010-04-19 16:36:57 -07:00
Brian Carlstrom 6fcc801ead Add missing newlines to adb usage message 2010-03-01 22:54:12 -08:00
Mike Lockwood dd6b36e334 adb: do not mix printf() with write() when writing to stdout.
Change-Id: I3598cc951778080bec9a21d646656d5aba57120a
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-02-25 23:04:43 -05:00
Mike Lockwood 0ef3fd048a adb: add -s option to adb install for installing apps on SD card.
Change-Id: Ic6b24411e594d160ddcf862cc9f1283e1e17bb4d
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-02-19 17:53:27 -05:00
Dan Egnor 7eced2b86a make "adb bugreport" run "bugreport" (which invokes "dumpstate"
indirectly via system service) rather than "dumpstate", that way
even when adb is not running as root, dumpstate does run as root,
and can do things like collect VM traces.
2010-02-15 11:59:47 -05:00
Joe Onorato 8071a4bdb6 Make adb pull use . as the target file directory if you don't supply one. 2010-02-15 11:58:56 -05:00
Dan Egnor c130ea7c29 make "adb bugreport" run "bugreport" (which invokes "dumpstate"
indirectly via system service) rather than "dumpstate", that way
even when adb is not running as root, dumpstate does run as root,
and can do things like collect VM traces.
2010-01-20 13:52:59 -08:00
Joe Onorato 00c0eeac6b Make adb pull use . as the target file directory if you don't supply one. 2010-01-05 13:42:25 -08:00
Romain Guy a48d43a077 Add adb reboot-bootloader to match fastboot reboot-bootloader.
Also fix the formatting of one of the options in the help message.
2009-12-23 07:44:50 -05:00
Mike Lockwood a59387b508 adb: fix -d and -e options for "adb forward" command.
Change-Id: I9166572a1c398ce5ef1423d19a30895385118ee5
Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-12-23 07:44:03 -05:00
Romain Guy 311add489e Add adb reboot-bootloader to match fastboot reboot-bootloader.
Also fix the formatting of one of the options in the help message.
2009-12-14 14:45:17 -08:00
Mike Lockwood 255ed555d6 am 3c0c6dca: am 64e99545: adb: fix -d and -e options for "adb forward" command.
Merge commit '3c0c6dca1abc350035efedafa9ee9d705499c334'

* commit '3c0c6dca1abc350035efedafa9ee9d705499c334':
  adb: fix -d and -e options for "adb forward" command.
2009-11-28 19:34:13 -08:00
Mike Lockwood 3c0c6dca1a am 64e99545: adb: fix -d and -e options for "adb forward" command.
Merge commit '64e99545d4b5600bb5ca044fcad636ae8389b381' into eclair-mr2-plus-aosp

* commit '64e99545d4b5600bb5ca044fcad636ae8389b381':
  adb: fix -d and -e options for "adb forward" command.
2009-11-28 19:32:17 -08:00
Mike Lockwood 64e99545d4 adb: fix -d and -e options for "adb forward" command.
Change-Id: I9166572a1c398ce5ef1423d19a30895385118ee5
Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-11-28 12:46:13 -05:00
Jean-Baptiste Queru c923980e78 am ef063fe3: merge from open-source master
Merge commit 'ef063fe3066153dab5389b6baba6cb4e36888106'

* commit 'ef063fe3066153dab5389b6baba6cb4e36888106':
  Add support for Acer devices
  FreeBSD support for usb-connected devices in adb
  Make get_my_path() safer
  Fix use of memset function
2009-11-09 12:07:42 -08:00
Alexey Tarasov 3166410a82 Make get_my_path() safer
Adds maxLen parameter to get_my_path().
Some small cosmetic fixes.
2009-10-22 02:55:00 +11:00
Mike Lockwood a01fdd534d am 96b6bf3e: am 8cf0d59f: adb: Add "adb disconnect" command for disconnecting TCP/IP devices.
Merge commit '96b6bf3e923e23d695c1322fc41a57c9346b3e90'

* commit '96b6bf3e923e23d695c1322fc41a57c9346b3e90':
  adb: Add "adb disconnect" command for disconnecting TCP/IP devices.
2009-10-13 17:01:53 -07:00
Mike Lockwood 74d7ff8cfd adb: Add "adb disconnect" command for disconnecting TCP/IP devices.
Also check that device is not already connected in "adb connect"

Change-Id: I5f84b56b63d8c6932f23791cac319fd6bc39d36c
Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-10-13 10:45:39 -04:00
Mike Lockwood 8cf0d59f61 adb: Add "adb disconnect" command for disconnecting TCP/IP devices.
Also check that device is not already connected in "adb connect"

Change-Id: I5f84b56b63d8c6932f23791cac319fd6bc39d36c
Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-10-11 23:04:18 -04:00
Elliott Hughes 31dbed7b60 Add adb's ANDROID_SERIAL to fastboot too.
We noticed this when trying to script on-device testing for the dalvik
continuous build.

Also fix a typo in adb's help.
2009-10-07 15:38:53 -07:00
Mike Lockwood f56d1b5a76 Revert "adb: "adb bugreport" now runs dumpstate via init rather than execing it in the shell."
This reverts commit be0045aafd.
This change broke compatibility with previous versions of adbd, so I will be implementing this
by modifying the bugreport command on the device instead.
2009-09-03 14:54:58 -04:00
Mike Lockwood be0045aafd adb: "adb bugreport" now runs dumpstate via init rather than execing it in the shell.
This allows dumpstate to run as root even if adbd is not.

Change-Id: I04bda1ee0c8de91677149a2a9eda713c85067aa4
Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-09-03 00:36:14 -04:00
Xavier Ducrohet f71c71148c Fix broken 'adb root' command.
Change-Id: I75bf01863e82967a7214d3e31b8db792690716c1
2009-08-26 14:46:18 -07:00
Mike Lockwood 2f38b69971 adb: Improved support for running adb over TCP/IP
Added new commands:

adb connect <host>:<port> (to connect to a device via TCP/IP)
adb tcpip <port>          (to restart adbd on the device to listen on TCP/IP)
adb usb                   (to restart adbd on the device to listen USB)

Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-08-26 14:46:18 -07:00
Mike Lockwood 5f4b051235 adb: add "adb reboot" command.
This will allow rebooting the device via adb on any build, including user builds.
An optional argument can be provided
(for example, "adb reboot bootloader" or adb reboot recovery")

Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-08-26 14:46:18 -07:00