Um relatório de bug contém registros de dispositivo, stack traces e outras informações de diagnóstico
para ajudar você a localizar e corrigir bugs
no seu app. Você pode capturar um relatório de bug do seu dispositivo usando a opção de desenvolvedor Obter relatório de bugs no dispositivo, o menu do Android Emulator
ou o comando adb bugreport
na sua máquina de desenvolvimento.

Figura 1. Opções do desenvolvedor
Para gerar um relatório de bugs, você precisa ativar as Opções do desenvolvedor no seu dispositivo e acessar a opção Obter relatório de bugs.
Capturar um relatório do bug em um dispositivo

Figura 2. O relatório do bug está pronto
Para gerar um relatório de bugs diretamente no seu dispositivo, faça o seguinte:
- Ative as Opções do desenvolvedor.
- Em Opções do desenvolvedor, toque em Obter relatório de bugs.
- Selecione o tipo de relatório de bug que você quer e toque em Informar.
Depois de um momento, você receberá uma notificação informando que o relatório está pronto (veja a Figura 2).
- Para compartilhar o relatório do bug, toque na notificação.
Capturar um relatório de bug no Android Emulator
No Android Emulator, você pode usar o recurso Registrar um bug nos controles estendidos:
- Clique em More
no painel do emulador.
Na janela Controles estendidos, selecione Relatório de bug à esquerda.
Isso abrirá uma tela em que você pode ver os detalhes do relatório do bug, como a captura de tela, as informações de configuração do AVD e um registro do relatório do bug. Você também pode digitar uma mensagem com etapas de reprodução para salvar com o relatório.
Aguarde até que a coleta do relatório do bug seja concluída e clique em Salvar relatório.
Capturar um relatório de bugs usando o adb
Se houver apenas um dispositivo conectado, você poderá gerar um relatório de bugs usando
adb
da seguinte forma:
$ adb bugreport E:\Reports\MyBugReports
Se você não especificar um caminho para o relatório do bug, ele será salvo no diretório local.
Se houver vários dispositivos conectados, especifique o dispositivo com a opção
-s
. Execute os seguintes comandos adb
para
ver o número de série do dispositivo e gerar o relatório do bug.
$ adb devices List of devices attached emulator-5554 device 8XV7N15C31003476 device $ adb -s 8XV7N15C31003476 bugreport
Inspecionar o arquivo ZIP do relatório do bug
Por padrão, o arquivo ZIP é chamado
bugreport-BUILD_ID-DATE.zip
e
pode conter vários arquivos, mas o arquivo mais importante é
bugreport-BUILD_ID-DATE.txt
. Esse
é o relatório do bug e ele contém
a saída de diagnóstico para os serviços do sistema (dumpsys
), os registros de erros (dumpstate
)
e os registros de mensagens do sistema (logcat
). As mensagens do sistema incluem stack traces
quando o dispositivo gera um erro e mensagens escritas de todos os apps com a
classe Log
.
O arquivo ZIP contém um arquivo de metadados version.txt
que contém
a carta de lançamento do Android e, quando o systrace está ativado, o arquivo ZIP também
contém um arquivo systrace.txt
. A
ferramenta Systrace
ajuda a analisar o desempenho
do aplicativo, capturando e exibindo tempos de execução dos processos do seu
app e outros processos do sistema Android.
A ferramenta dumpstate
copia arquivos do sistema de arquivos
do dispositivo para o arquivo ZIP na pasta FS
para que você possa referenciá-los. Por exemplo,
um arquivo /dirA/dirB/fileC
no dispositivo geraria uma
entrada FS/dirA/dirB/fileC
no arquivo ZIP.
Figura 3. Estrutura de arquivos de relatórios de bugs
Para ver mais informações, consulte Como ler relatórios de bugs.
Receber relatórios dos usuários
Capturar relatórios de bug conforme descrito acima é algo útil, já que é você quem está usando o app. Seus usuários finais não conseguem compartilhar esses tipos de relatório de bug com você tão facilmente. Para gerar relatórios de erros com stack traces a partir de usuários do mundo real, use os recursos de relatórios de erros do Google Play e do Firebase.
Google Play Console
Você pode gerar relatórios no Google Play Console para ver dados de falhas e erros de "O app não está respondendo" (ANR, na sigla em inglês) de usuários que instalaram seu app no Google Play. Os dados estão disponíveis para os seis meses anteriores.
Para ver mais informações, consulte Ver falhas e erros ANR na página de Ajuda do Play Console.
Firebase Crash Reporting
O Firebase Crash Reporting cria relatórios detalhados dos erros no seu app. Os erros são agrupados em problemas com base em stack traces semelhantes e classificados pela gravidade do impacto nos usuários. Além dos relatórios automáticos, você pode registrar eventos personalizados para ajudar a capturar as etapas que levam a uma falha.
Para começar a receber relatórios de erros de qualquer usuário, basta adicionar as
dependências do Firebase
ao seu arquivo build.gradle
. Para saber mais, consulte
Firebase Crashlytics.