9270a20a80
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. Change-Id: I6fe13161ca064a98d06fa32104e1f432826582f5
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.