コード例 #1
0
ファイル: prep_launch_chrome.py プロジェクト: zhangpf/arc
def _remove_ndk_libraries(apk_path):
  """Remove ndk libraries installed by previous launches.

  Package Manager installs shared libraries that match ABI but it doesn't
  remove them from previous installation.  If apk does not contain the library
  for current ABI, installer does not produce an error.  In this case
  application may launch successfully using previously installed library.  We
  want to see an error instead.
  """
  apk_name = os.path.splitext(os.path.basename(apk_path))[0]
  if apk_name:
    native_library_directory = os.path.join(build_common.get_arc_root(),
                                            build_common.get_android_root(),
                                            'data', 'app-lib',
                                            apk_name)
    file_util.rmtree(native_library_directory, ignore_errors=True)
コード例 #2
0
def main():
    OPTIONS.parse_configure_file()
    parser = argparse.ArgumentParser()

    parser.add_argument('input',
                        nargs='?',
                        type=argparse.FileType('r'),
                        default='chrometrace.log')
    parser.add_argument('output',
                        nargs='?',
                        type=argparse.FileType('w'),
                        default='expanded_chrometrace.log')
    parser.add_argument('--logtag',
                        type=argparse.FileType('r'),
                        default=os.path.join(build_common.get_android_root(),
                                             'etc', 'event-log-tags'))

    options = parser.parse_args(sys.argv[1:])

    trace = json.load(options.input)

    logtag_format = re.compile(r'(\d+) (\S+) .*')
    logtags = collections.defaultdict(LogTag)
    for line in options.logtag.readlines():
        m = logtag_format.match(line)
        if m:
            logtags[int(m.group(1))].name = m.group(2)

    for i in xrange(len(trace)):
        entry = trace[i]
        if entry['cat'] == 'ARC' and entry['name'] == 'EventLogTag':
            if 'args' not in entry or 'tag' not in entry['args']:
                entry['name'] = 'Poorly formatted EventLogTag'
                print 'Invalid eventlogtag: %s' % entry
            else:
                number = entry['args']['tag']
                if number not in logtags:
                    entry['name'] = 'Unknown EventLogTag'
                    print 'Unknown eventlogtag: %s' % entry
                else:
                    entry['name'] = logtags[number].name + " (EventLogTag)"

    options.output.write(json.dumps(trace, separators=(',', ':')))

    print 'Done'
    return 0
コード例 #3
0
ファイル: expand_android_trace.py プロジェクト: epowers/arc
def main():
  OPTIONS.parse_configure_file()
  parser = argparse.ArgumentParser()

  parser.add_argument('input', nargs='?',
                      type=argparse.FileType('r'),
                      default='chrometrace.log')
  parser.add_argument('output', nargs='?',
                      type=argparse.FileType('w'),
                      default='expanded_chrometrace.log')
  parser.add_argument('--logtag', type=argparse.FileType('r'),
                      default=os.path.join(build_common.get_android_root(),
                                           'etc', 'event-log-tags'))

  options = parser.parse_args(sys.argv[1:])

  trace = json.load(options.input)

  logtag_format = re.compile(r'(\d+) (\S+) .*')
  logtags = collections.defaultdict(LogTag)
  for line in options.logtag.readlines():
    m = logtag_format.match(line)
    if m:
      logtags[int(m.group(1))].name = m.group(2)

  for i in xrange(len(trace)):
    entry = trace[i]
    if entry['cat'] == 'ARC' and entry['name'] == 'EventLogTag':
      if 'args' not in entry or 'tag' not in entry['args']:
        entry['name'] = 'Poorly formatted EventLogTag'
        print 'Invalid eventlogtag: %s' % entry
      else:
        number = entry['args']['tag']
        if number not in logtags:
          entry['name'] = 'Unknown EventLogTag'
          print 'Unknown eventlogtag: %s' % entry
        else:
          entry['name'] = logtags[number].name + " (EventLogTag)"

  options.output.write(json.dumps(trace, separators=(',', ':')))

  print 'Done'
  return 0