def init_screencap_mode(cls, mode): consts = UtilConsts.ScreenCapMode cls.screencap_mode = mode if cls.screencap_mode == consts.ASCREENCAP: # Prepare for ascreencap, push the required libraries Adb.exec_out('rm /data/local/tmp/ascreencap') cpuArc = Adb.exec_out('getprop ro.product.cpu.abi').decode( 'utf-8').strip() sdkVer = int( Adb.exec_out('getprop ro.build.version.sdk').decode( 'utf-8').strip()) ascreencaplib = 'ascreencap_{}'.format(cpuArc) if sdkVer in range(21, 26) and os.path.isfile(ascreencaplib): Adb.cmd( 'push {} /data/local/tmp/ascreencap'.format(ascreencaplib)) else: Logger.log_warning( 'No suitable version of aScreenCap lib is available locally, using ascreencap_local...' ) if os.path.isfile('ascreencap_local'): Adb.cmd('push ascreencap_local /data/local/tmp/ascreencap') else: Logger.log_error( 'File "ascreencap_local" not found. Please download the appropriate version of aScreenCap for your device from github.com/ClnViewer/Android-fast-screen-capture and save it as "ascreencap_local"' ) Logger.log_warning( 'Since aScreenCap is not ready, falling back to normal adb screencap' ) Utils.useAScreenCap = False Adb.shell('chmod 0777 /data/local/tmp/ascreencap')
# aScreenCap init useAScreenCap = config.screenshot['useAScreenCap'] Utils.useAScreenCap = useAScreenCap if useAScreenCap: # Prepare for ascreencap, push the required libraries Adb.exec_out('rm /data/local/tmp/ascreencap') cpuArc = Adb.exec_out('getprop ro.product.cpu.abi').decode( 'utf-8').strip() sdkVer = int( Adb.exec_out('getprop ro.build.version.sdk').decode( 'utf-8').strip()) ascreencaplib = 'ascreencap_{}'.format(cpuArc) if sdkVer in range(21, 26) and os.path.isfile(ascreencaplib): Adb.cmd('push {} /data/local/tmp/ascreencap'.format(ascreencaplib)) else: Logger.log_warning( 'No suitable version of aScreenCap lib is available locally, using ascreencap_local...' ) if os.path.isfile('ascreencap_local'): Adb.cmd('push ascreencap_local /data/local/tmp/ascreencap') else: Logger.log_error( 'File "ascreencap_local" not found. Please download the appropriate version of aScreenCap for your device from github.com/ClnViewer/Android-fast-screen-capture and save it as "ascreencap_local"' ) Logger.log_warning( 'Since aScreenCap is not ready, falling back to normal adb screencap' ) Utils.useAScreenCap = False Adb.shell('chmod 0777 /data/local/tmp/ascreencap')