diff options
Diffstat (limited to 'tools/bit/adb.cpp')
-rw-r--r-- | tools/bit/adb.cpp | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/tools/bit/adb.cpp b/tools/bit/adb.cpp index 0c8424de566d..c8faf5c66722 100644 --- a/tools/bit/adb.cpp +++ b/tools/bit/adb.cpp @@ -283,10 +283,19 @@ run_instrumentation_test(const string& packageName, const string& runner, const cmd.AddArg("instrument"); cmd.AddArg("-w"); cmd.AddArg("-m"); - if (className.length() > 0) { - cmd.AddArg("-e"); - cmd.AddArg("class"); - cmd.AddArg(className); + const int classLen = className.length(); + if (classLen > 0) { + if (classLen > 1 && className[classLen - 1] == '.') { + cmd.AddArg("-e"); + cmd.AddArg("package"); + + // "am" actually accepts without removing the last ".", but for cleanlines... + cmd.AddArg(className.substr(0, classLen - 1)); + } else { + cmd.AddArg("-e"); + cmd.AddArg("class"); + cmd.AddArg(className); + } } cmd.AddArg(packageName + "/" + runner); |