|
|
@ -220,11 +220,9 @@ class AdbHelper(object): |
|
|
|
self.adb_path = adb_path |
|
|
|
self.adb_path = adb_path |
|
|
|
self.enable_switch_to_root = enable_switch_to_root |
|
|
|
self.enable_switch_to_root = enable_switch_to_root |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def run(self, adb_args): |
|
|
|
def run(self, adb_args): |
|
|
|
return self.run_and_return_output(adb_args)[0] |
|
|
|
return self.run_and_return_output(adb_args)[0] |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def run_and_return_output(self, adb_args, stdout_file=None, log_output=True): |
|
|
|
def run_and_return_output(self, adb_args, stdout_file=None, log_output=True): |
|
|
|
adb_args = [self.adb_path] + adb_args |
|
|
|
adb_args = [self.adb_path] + adb_args |
|
|
|
log_debug('run adb cmd: %s' % adb_args) |
|
|
|
log_debug('run adb cmd: %s' % adb_args) |
|
|
@ -247,14 +245,12 @@ class AdbHelper(object): |
|
|
|
def check_run(self, adb_args): |
|
|
|
def check_run(self, adb_args): |
|
|
|
self.check_run_and_return_output(adb_args) |
|
|
|
self.check_run_and_return_output(adb_args) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def check_run_and_return_output(self, adb_args, stdout_file=None, log_output=True): |
|
|
|
def check_run_and_return_output(self, adb_args, stdout_file=None, log_output=True): |
|
|
|
result, stdoutdata = self.run_and_return_output(adb_args, stdout_file, log_output) |
|
|
|
result, stdoutdata = self.run_and_return_output(adb_args, stdout_file, log_output) |
|
|
|
if not result: |
|
|
|
if not result: |
|
|
|
log_exit('run "adb %s" failed' % adb_args) |
|
|
|
log_exit('run "adb %s" failed' % adb_args) |
|
|
|
return stdoutdata |
|
|
|
return stdoutdata |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def _unroot(self): |
|
|
|
def _unroot(self): |
|
|
|
result, stdoutdata = self.run_and_return_output(['shell', 'whoami']) |
|
|
|
result, stdoutdata = self.run_and_return_output(['shell', 'whoami']) |
|
|
|
if not result: |
|
|
|
if not result: |
|
|
@ -266,7 +262,6 @@ class AdbHelper(object): |
|
|
|
self.run(['wait-for-device']) |
|
|
|
self.run(['wait-for-device']) |
|
|
|
time.sleep(1) |
|
|
|
time.sleep(1) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def switch_to_root(self): |
|
|
|
def switch_to_root(self): |
|
|
|
if not self.enable_switch_to_root: |
|
|
|
if not self.enable_switch_to_root: |
|
|
|
self._unroot() |
|
|
|
self._unroot() |
|
|
@ -292,7 +287,6 @@ class AdbHelper(object): |
|
|
|
def set_property(self, name, value): |
|
|
|
def set_property(self, name, value): |
|
|
|
return self.run(['shell', 'setprop', name, value]) |
|
|
|
return self.run(['shell', 'setprop', name, value]) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def get_device_arch(self): |
|
|
|
def get_device_arch(self): |
|
|
|
output = self.check_run_and_return_output(['shell', 'uname', '-m']) |
|
|
|
output = self.check_run_and_return_output(['shell', 'uname', '-m']) |
|
|
|
if 'aarch64' in output: |
|
|
|
if 'aarch64' in output: |
|
|
@ -305,7 +299,6 @@ class AdbHelper(object): |
|
|
|
return 'x86' |
|
|
|
return 'x86' |
|
|
|
log_fatal('unsupported architecture: %s' % output.strip()) |
|
|
|
log_fatal('unsupported architecture: %s' % output.strip()) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def get_android_version(self): |
|
|
|
def get_android_version(self): |
|
|
|
build_version = self.get_property('ro.build.version.release') |
|
|
|
build_version = self.get_property('ro.build.version.release') |
|
|
|
android_version = 0 |
|
|
|
android_version = 0 |
|
|
|