def CanDiscoverDevices(): """Returns true if devices are discoverable via adb.""" if not adb_commands.IsAndroidSupported(): logging.info('Android build commands unavailable on this machine. ' 'Have you installed Android build dependencies?') return False try: with open(os.devnull, 'w') as devnull: adb_process = subprocess.Popen(['adb', 'devices'], stdout=subprocess.PIPE, stderr=subprocess.PIPE, stdin=devnull) stdout = adb_process.communicate()[0] if re.search(re.escape('????????????\tno permissions'), stdout) != None: logging.warn('adb devices gave a permissions error. ' 'Consider running adb as root:') logging.warn(' adb kill-server') logging.warn(' sudo `which adb` devices\n\n') return True except OSError: pass chromium_adb_path = os.path.join(util.GetChromiumSrcDir(), 'third_party', 'android_tools', 'sdk', 'platform-tools', 'adb') if sys.platform.startswith('linux') and os.path.exists(chromium_adb_path): os.environ['PATH'] = os.pathsep.join( [os.path.dirname(chromium_adb_path), os.environ['PATH']]) return True return False
def CanFindAvailableBrowsers(logging=real_logging): if not adb_commands.IsAndroidSupported(): return False global adb_works if adb_works == None: try: with open(os.devnull, 'w') as devnull: proc = subprocess.Popen(['adb', 'devices'], stdout=subprocess.PIPE, stderr=subprocess.PIPE, stdin=devnull) stdout, _ = proc.communicate() if re.search(re.escape('????????????\tno permissions'), stdout) != None: logging.warn( ('adb devices reported a permissions error. Consider ' 'restarting adb as root:')) logging.warn(' adb kill-server') logging.warn(' sudo `which adb` devices\n\n') adb_works = True except OSError: platform_tools_path = os.path.join(util.GetChromiumSrcDir(), 'third_party', 'android_tools', 'sdk', 'platform-tools') if (sys.platform.startswith('linux') and os.path.exists( os.path.join(platform_tools_path, 'adb'))): os.environ['PATH'] = os.pathsep.join( [platform_tools_path, os.environ['PATH']]) adb_works = True else: adb_works = False return adb_works
def CanFindAvailableBrowsers(): if not adb_commands.IsAndroidSupported(): logging.info( 'Android build commands unavailable on this machine. Have ' 'you installed Android build dependencies?') return False try: with open(os.devnull, 'w') as devnull: proc = subprocess.Popen(['adb', 'devices'], stdout=subprocess.PIPE, stderr=subprocess.PIPE, stdin=devnull) stdout, _ = proc.communicate() if re.search(re.escape('????????????\tno permissions'), stdout) != None: logging.warn('adb devices reported a permissions error. Consider ' 'restarting adb as root:') logging.warn(' adb kill-server') logging.warn(' sudo `which adb` devices\n\n') return True except OSError: platform_tools_path = os.path.join(util.GetChromiumSrcDir(), 'third_party', 'android_tools', 'sdk', 'platform-tools') if (sys.platform.startswith('linux') and os.path.exists(os.path.join(platform_tools_path, 'adb'))): os.environ['PATH'] = os.pathsep.join( [platform_tools_path, os.environ['PATH']]) return True return False