text: # Copyright 2015 The Chromium Authors. All rights reserved.
  # Use of this source code is governed by a BSD-style license that can be
  # found in the LICENSE file.
  
  from devil.android.sdk import build_tools
  from devil.utils import cmd_helper
  from devil.utils import lazy
  
  
  _dexdump_path = lazy.WeakConstant(lambda: build_tools.GetPath('dexdump'))
  
  
  def DexDump(dexfiles, file_summary=False):
    """A wrapper around the Android SDK's dexdump tool.
  
    Args:
      dexfiles: The dexfile or list of dex files to dump.
      file_summary: Display summary information from the file header. (-f)
  
    Returns:
      An iterable over the output lines.
    """
    # TODO(jbudorick): Add support for more options as necessary.
    if isinstance(dexfiles, basestring):
      dexfiles = [dexfiles]
    args = [_dexdump_path.read()] + dexfiles
    if file_summary:
      args.append('-f')
  
    return cmd_helper.IterCmdOutputLines(args)
  
  