示例#1
0
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
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