Files
android_bootable_recovery/minadbd
Doug Zongker e83b7cf8f1 support "sideload over ADB" mode
Rather than depending on the existence of some place to store a file
that is accessible to users on an an unbootable device (eg, a physical
sdcard, external USB drive, etc.), add support for sideloading
packages sent to the device with adb.

This change adds a "minimal adbd" which supports nothing but receiving
a package over adb (with the "adb sideload" command) and storing it to
a fixed filename in the /tmp ramdisk, from where it can be verified
and sideloaded in the usual way.  This should be leave available even
on locked user-build devices.

The user can select "apply package from ADB" from the recovery menu,
which starts minimal-adb mode (shutting down any real adbd that may be
running).  Once minimal-adb has received a package it exits
(restarting real adbd if appropriate) and then verification and
installation of the received package proceeds.

always initialize usb product, vendor, etc. for adb in recovery

Set these values even on non-debuggable builds, so that the mini-adb
now in recovery can work.
2012-01-18 10:35:28 -08:00
..
2012-01-18 10:35:28 -08:00
2012-01-18 10:35:28 -08:00
2012-01-18 10:35:28 -08:00
2012-01-18 10:35:28 -08:00
2012-01-18 10:35:28 -08:00
2012-01-18 10:35:28 -08:00
2012-01-18 10:35:28 -08:00
2012-01-18 10:35:28 -08:00
2012-01-18 10:35:28 -08:00
2012-01-18 10:35:28 -08:00
2012-01-18 10:35:28 -08:00
2012-01-18 10:35:28 -08:00
2012-01-18 10:35:28 -08:00
2012-01-18 10:35:28 -08:00

The contents of this directory are copied from system/core/adb, with
the following changes:

adb.c
  - much support for host mode and non-linux OS's stripped out; this
    version only runs as adbd on the device.
  - does not setuid/setgid itself (always stays root)
  - only uses USB transport
  - references to JDWP removed
  - main() removed

adb.h
  - minor changes to match adb.c changes

sockets.c
  - references to JDWP removed

services.c
  - all services except echo_service (which is commented out) removed
  - all host mode support removed
  - sideload_service() added; this is the only service supported.  It
    receives a single blob of data, writes it to a fixed filename, and
    makes the process exit.

Android.mk
  - only builds in adbd mode; builds as static library instead of a
    standalone executable.