From 0ef3fd048aeaeb59467e43e543f66b96e4e6c7f5 Mon Sep 17 00:00:00 2001 From: Mike Lockwood Date: Fri, 19 Feb 2010 17:53:27 -0500 Subject: adb: add -s option to adb install for installing apps on SD card. Change-Id: Ic6b24411e594d160ddcf862cc9f1283e1e17bb4d Signed-off-by: Mike Lockwood --- adb/commandline.c | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) (limited to 'adb/commandline.c') diff --git a/adb/commandline.c b/adb/commandline.c index 5756752..0352cf2 100644 --- a/adb/commandline.c +++ b/adb/commandline.c @@ -126,9 +126,10 @@ void help() " dev:\n" " jdwp: (remote only)\n" " adb jdwp - list PIDs of processes hosting a JDWP transport\n" - " adb install [-l] [-r] - push this package file to the device and install it\n" + " adb install [-l] [-r] [-s] - push this package file to the device and install it\n" " ('-l' means forward-lock the app)\n" " ('-r' means reinstall the app, keeping its data)\n" + " ('-s' means install on SD card instead of internal storage)\n" " adb uninstall [-k] - remove this app package from the device\n" " ('-k' means keep the data and cache directories)\n" " adb bugreport - return all information from the device\n" @@ -1255,17 +1256,25 @@ int install_app(transport_type transport, char* serial, int argc, char** argv) { struct stat st; int err; - const char *const WHERE = "/data/local/tmp/%s"; + const char *const DATA_DEST = "/data/local/tmp/%s"; + const char *const SD_DEST = "/sdcard/tmp/%s"; + const char* where = DATA_DEST; char to[PATH_MAX]; char* filename = argv[argc - 1]; const char* p; + int i; + + for (i = 0; i < argc; i++) { + if (!strcmp(argv[i], "-s")) + where = SD_DEST; + } p = adb_dirstop(filename); if (p) { p++; - snprintf(to, sizeof to, WHERE, p); + snprintf(to, sizeof to, where, p); } else { - snprintf(to, sizeof to, WHERE, filename); + snprintf(to, sizeof to, where, filename); } if (p[0] == '\0') { } -- cgit v1.1