From f03eebdd59c063ab0c27a44ec4ae402006064c29 Mon Sep 17 00:00:00 2001 From: Calin Juravle Date: Thu, 14 Dec 2017 15:48:15 -0800 Subject: [PATCH] Accept DexMetadata files (.dm) for install-multiple Allow .dm files (DexMetadata) to be passed to adb install-multiple. Do not rename the input files based on their indices as the naming matters for associating an .dm file to an .apk file. Test: adb install-multiple -p com.android.cts.classloadersplitapp base.apk split.apk split.dm Bug: 30934496 Change-Id: I2ac39e00d64eae938124250033f79e02f3c3f9c0 (cherry picked from commit aa7753871e0519b628b78c2defa38c71e8c3879a) --- adb/client/commandline.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/adb/client/commandline.cpp b/adb/client/commandline.cpp index 3fb14f351..da273fd3f 100644 --- a/adb/client/commandline.cpp +++ b/adb/client/commandline.cpp @@ -1925,7 +1925,8 @@ static int install_multiple_app(int argc, const char** argv) { for (int i = argc - 1; i >= 0; i--) { const char* file = argv[i]; - if (android::base::EndsWithIgnoreCase(file, ".apk")) { + if (android::base::EndsWithIgnoreCase(file, ".apk") || + android::base::EndsWithIgnoreCase(file, ".dm")) { struct stat sb; if (stat(file, &sb) != -1) total_size += sb.st_size; first_apk = i; @@ -1986,9 +1987,8 @@ static int install_multiple_app(int argc, const char** argv) { } std::string cmd = android::base::StringPrintf( - "%s install-write -S %" PRIu64 " %d %d_%s -", - install_cmd.c_str(), static_cast(sb.st_size), session_id, i, - android::base::Basename(file).c_str()); + "%s install-write -S %" PRIu64 " %d %s -", install_cmd.c_str(), + static_cast(sb.st_size), session_id, android::base::Basename(file).c_str()); int localFd = adb_open(file, O_RDONLY); if (localFd < 0) {