def get_devices
      devices = []
      run_adb("devices") do |pout|
        pout.each do |line|
          line = line.strip
          if (!line.empty? && line !~ /^List of devices/)
            parts = line.split
            device = AndroidAdb::Device.new(parts[0], parts[1])
            devices << device
          end
        end
      end
      return devices
    end
def get_devices
      devices = []
      run_adb("devices") do |pout|
        pout.each do |line|
          line = line.strip
          if (!line.empty? && line !~ /^List of devices/)
            parts = line.split
            device = AndroidAdb::Device.new(parts[0], parts[1])
            devices << device
          end
        end
      end
      return devices
    end
Contructs an Adb object for issuing commands to the connected device or emulator.

 If the adb path is not specified in the +opts+ hash it is determined in the following order:
 1. Try and use the unix which command to locate the adb binary.
 2. Use the ANDROID_HOME environment variable.
 3. Default to adb (no path specified).

 @param [Hash] opts The options to create the Adb object with.
 @option opts [Logger] :log A log4r logger that debug information can be sent too.
 @option opts [Boolean] :dry_run Does not execute the *adb* command but will log the command and set last_command.
 @option opts [Boolean] :adb_path Manually set the path to the adb binary.
 Returns a list of all connected devices. The collection is returned as a hash
 containing the device name <tt>:name</tt> and the serial <tt>:serial</tt>.
 @return [Array<Device>] THe list of connected devices/emulators.