コード例 #1
0
ファイル: android_device.py プロジェクト: ravishan/chromium
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
コード例 #2
0
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
コード例 #3
0
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