aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorandroid-build-team Robot <android-build-team-robot@google.com>2017-10-26 20:03:18 +0000
committerandroid-build-team Robot <android-build-team-robot@google.com>2017-10-26 20:03:18 +0000
commit86d42d1f8ee02c3402d116a22898ac7944b48db9 (patch)
tree94234f9ba8eab6ccb8e804352f3dc7b648dc8ea5
parent1b8312235f3b947d3f49ab35ec2e249b11c2673b (diff)
parentb83aafdedf02b3ea0b5109457f674cbce3b670ba (diff)
downloadtradefederation-86d42d1f8ee02c3402d116a22898ac7944b48db9.tar.gz
Change-Id: I5f84eaf28c41ad241c899e3f61b7cb87f6d552c9
-rw-r--r--src/com/android/tradefed/targetprep/TestAppInstallSetup.java7
-rw-r--r--src/com/android/tradefed/util/AaptParser.java20
2 files changed, 22 insertions, 5 deletions
diff --git a/src/com/android/tradefed/targetprep/TestAppInstallSetup.java b/src/com/android/tradefed/targetprep/TestAppInstallSetup.java
index ce94055bd..448fc7ec5 100644
--- a/src/com/android/tradefed/targetprep/TestAppInstallSetup.java
+++ b/src/com/android/tradefed/targetprep/TestAppInstallSetup.java
@@ -231,6 +231,13 @@ public class TestAppInstallSetup implements ITargetCleaner, IAbiReceiver {
mAltDirs.add(altDir);
}
+ /**
+ * Set an alternate directory behaviors.
+ */
+ public void setAltDirBehavior(AltDirBehavior altDirBehavior) {
+ mAltDirBehavior = altDirBehavior;
+ }
+
/** Attempt to install a package on the device. */
private String installPackage(ITestDevice device, File testAppFile)
throws DeviceNotAvailableException {
diff --git a/src/com/android/tradefed/util/AaptParser.java b/src/com/android/tradefed/util/AaptParser.java
index a69dd7ec3..58a8b39b2 100644
--- a/src/com/android/tradefed/util/AaptParser.java
+++ b/src/com/android/tradefed/util/AaptParser.java
@@ -103,21 +103,31 @@ public class AaptParser {
* @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;
}