João de Oliveira do Rio, capitão