AndroidTarget: fix get_pid_of for recent Androids
ps on recent Androids no longer takes an optional comm name; use
Target.ps() instead, and filter by process name on the host.
diff --git a/devlib/target.py b/devlib/target.py
index 51826fb..fca798c 100644
--- a/devlib/target.py
+++ b/devlib/target.py
@@ -1011,11 +1011,12 @@
self.uninstall_executable(name)
def get_pids_of(self, process_name):
- result = self.execute('ps {}'.format(process_name[-15:]), check_exit_code=False).strip()
- if result and 'not found' not in result:
- return [int(x.split()[1]) for x in result.split('\n')[1:]]
- else:
- return []
+ result = []
+ search_term = process_name[-15:]
+ for entry in self.ps():
+ if search_term in entry.name:
+ result.append(entry.pid)
+ return result
def ps(self, **kwargs):
lines = iter(convert_new_lines(self.execute('ps')).split('\n'))