@Override protected ProcessResult process(Integer pid) throws Exception { Validate.notNull(pid, "PID for process to kill is a null object!"); Validate.notNull(androidSdk, "Android SDK is a null object!"); if (pid <= 0) { throw new IllegalStateException("PID to kill is lower then 0."); } ProcessResult processResult = Spacelift.task(CommandTool.class) .programName(androidSdk.getAdbPath()) .addEnvironment(androidSdk.getPlatformConfiguration().getAndroidSystemEnvironmentProperties()) .parameters("shell", "kill", "-" + signum, pid.toString()) .execute().await(); return processResult; } }
public List<Target> parse() { List<String> output = Spacelift.task(CommandTool.class) .addEnvironment(platformConfiguration.getAndroidSystemEnvironmentProperties()) .programName(androidSdk.getAndroidPath()) .parameters("list", "target") .execute().await() .output(); return parseAndroidListTargetOutput(new LinkedList<String>(output)); }
@Override protected Integer process(String androidProcessName) throws Exception { Validate.notNullOrEmpty(androidProcessName, "Android process name to get PID of is a null object or an empty string."); Validate.notNull(androidSdk, "Android SDK is a null object!"); ProcessResult psResult = Spacelift.task(CommandTool.class).programName(androidSdk.getAdbPath()) .addEnvironment(androidSdk.getPlatformConfiguration().getAndroidSystemEnvironmentProperties()) .parameter("shell") .parameter("ps") .execute().await(); int pid = -1; for (String psLine : psResult.output()) { if (psLine != null && psLine.trim().endsWith(androidProcessName)) { pid = parsePid(psLine.trim(), androidProcessName); break; } } return pid; }
@Override protected Boolean process(String processName) throws Exception { Validate.notNullOrEmpty(processName, "Process name to get running status of is a null object or it is an empty string!"); Validate.notNull(androidSdk, "AndroidSDK is null object!"); List<String> psOutput = Spacelift.task(CommandTool.class) .programName(androidSdk.getAdbPath()) .addEnvironment(androidSdk.getPlatformConfiguration().getAndroidSystemEnvironmentProperties()) .parameter("shell") .parameter("ps") .execute().await() .output(); boolean running = false; for (String outputLine : psOutput) { if (outputLine != null) { if (outputLine.trim().endsWith(processName)) { running = true; break; } } } return running; }
.programName(androidSdk.getAdbPath()) .addEnvironment(androidSdk.getPlatformConfiguration().getAndroidSystemEnvironmentProperties()) .parameter("shell")