Snap for 4407597 from 61763e713e66ccd122d1631b3ab4a4f9a201116a to oc-mr1-release

Change-Id: Ie2540672b4e2b53510457e7d4949bde8fe85f479
diff --git a/src/com/android/tradefed/util/AaptParser.java b/src/com/android/tradefed/util/AaptParser.java
index a69dd7e..58a8b39 100644
--- a/src/com/android/tradefed/util/AaptParser.java
+++ b/src/com/android/tradefed/util/AaptParser.java
@@ -103,21 +103,31 @@
      * @return the {@link AaptParser} or <code>null</code> if failed to extract the information
      */
     public static AaptParser parse(File apkFile) {
-        CommandResult result = RunUtil.getDefault().runTimedCmd(AAPT_TIMEOUT_MS,
-                "aapt", "dump", "badging", apkFile.getAbsolutePath());
+        CommandResult result =
+                RunUtil.getDefault()
+                        .runTimedCmdRetry(
+                                AAPT_TIMEOUT_MS,
+                                0L,
+                                2,
+                                "aapt",
+                                "dump",
+                                "badging",
+                                apkFile.getAbsolutePath());
 
         String stderr = result.getStderr();
-        if (stderr != null && stderr.length() > 0) {
+        if (stderr != null && !stderr.isEmpty()) {
             CLog.e("aapt dump badging stderr: %s", stderr);
         }
 
-        if (result.getStatus() == CommandStatus.SUCCESS) {
+        if (CommandStatus.SUCCESS.equals(result.getStatus())) {
             AaptParser p = new AaptParser();
             if (p.parse(result.getStdout()))
                 return p;
             return null;
         }
-        CLog.e("Failed to run aapt on %s", apkFile.getAbsoluteFile());
+        CLog.e(
+                "Failed to run aapt on %s. stdout: %s",
+                apkFile.getAbsoluteFile(), result.getStdout());
         return null;
     }