def push(localfile, remotefile)
      raise ArgumentError, "Not found #{localfile}" unless File.exist?(localfile)
      if remotefile.end_with?('/')
        remotefile = "#{remotefile}#{File.basename(localfile)}"
      end
      @device.pushFile(localfile, remotefile)
      self
    end
def push(localfile, remotefile)
      raise ArgumentError, "Not found #{localfile}" unless File.exist?(localfile)
      if remotefile.end_with?('/')
        remotefile = "#{remotefile}#{File.basename(localfile)}"
      end
      @device.pushFile(localfile, remotefile)
      self
    end
Pushes a file to the device.

 If *remotefile* path ends with '/', complements by the basename of
 *localfile*.
 @example
   device = AdbSdkLib::Adb.new.devices.first
   device.push('path/to/local.txt', '/data/local/tmp/remote.txt')
   device.push('path/to/file.txt', '/data/local/tmp/') # uses file.txt
 @param [String] localfile the name of the local file to send
 @param [String] remotefile the name of the remote file or directory
   on the device
 @return [self] self
 @raise [ArgumentError] If *localfile* is not found