def scan_device_port(self): port = 0 apktime_path = self._get_apktime_path() self.debug("apktime path: " + apktime_path) sync_value = get_sync_value(apktime_path, self._cache_dir) self.debug('your local sync value is: {}'.format(sync_value)) uuid = self.get_uuid() self.debug('your local uuid value is: {}'.format(uuid)) for i in range(0, 10): cexec([self._adb, 'forward', 'tcp:{}'.format(41128 + i), 'tcp:{}'.format(41128 + i)], callback=None) url = 'http://127.0.0.1:{}/checkSync?sync={}&uuid={}'.format(41128 + i, sync_value, uuid) result, err, code = curl(url) if code == 0 and result is not None: result = int(result) self.debug('server result is {}'.format(result)) if result == 0: self.debug('check sync value failed, maybe you need a clean build.') from exceptions import CheckSyncStateException raise CheckSyncStateException('check sync value failed, maybe you need a clean build.', 'NO CAUSE') elif result == -1: continue else: port = 41128 + i break for i in range(0, 10): if (41128 + i) != port: cexec([self._adb, 'forward', '--remove', 'tcp:{}'.format(41128 + i)], callback=None) return port
def scan_device_port(self, sync_value, uuid): port = 0 for i in range(0, 10): cexec([ self._adb, 'forward', 'tcp:{}'.format(PORT_START + i), 'tcp:{}'.format(PORT_START + i) ], callback=None) url = 'http://127.0.0.1:{}/checkSync?sync={}&uuid={}'.format( PORT_START + i, sync_value, uuid) result, err, code = curl(url) if code == 0 and result is not None: result = int(result) self.debug('server result is {}'.format(result)) if result == 0: self.debug( 'check sync value failed, maybe you need a clean build.' ) from exceptions import CheckSyncStateException raise CheckSyncStateException( 'check sync value failed, maybe you need a clean build.', 'NO CAUSE') elif result == -1: continue else: port = PORT_START + i break for i in range(0, 10): if (PORT_START + i) != port: cexec([ self._adb, 'forward', '--remove', 'tcp:{}'.format(PORT_START + i) ], callback=None) return port