Um relatório de bugs contém registros de dispositivo, stack traces e outras informações de diagnóstico
para você localizar e corrigir bugs no app. Para capturar um relatório de
bug do seu dispositivo, use a opção de desenvolvedor Criar relatório de bugs,
o menu do Android Emulator
ou o comando adb bugreport
na máquina de desenvolvimento.
![](https://developer.android.com/static/studio/images/run/dev-options-pixel_2x_cropped.png?authuser=0000&hl=pt-br)
Figura 1. Opções do desenvolvedor em um dispositivo.
Para gerar um relatório de bugs, você precisa ativar as Opções do desenvolvedor no seu dispositivo e acessar a opção Criar relatório de bugs.
Capturar um relatório de bugs em um dispositivo
![](https://developer.android.com/static/studio/images/run/dev-options-take-bug-report_2x.png?authuser=0000&hl=pt-br)
Figura 2. O relatório de bugs 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 Criar relatório de bugs.
- Selecione o tipo de relatório de bugs que você quer e toque em Informar.
Após alguns instantes, você vai receber uma notificação de que o relatório está pronto, como mostrado na figura 2.
- Para compartilhar o relatório de bugs, 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 Extended controls, selecione Bug report.
O sistema vai abrir uma tela exibindo os detalhes do relatório de bugs, por exemplo, captura de tela, informações de configuração do AVD e um registro do relatório. Você também pode digitar uma mensagem com etapas de reprodução para salvar com o relatório.
Aguarde até que o relatório de bugs seja gerado e clique em Save Report.
Capturar um relatório de bugs usando o adb
Se há apenas um dispositivo conectado, você pode 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, ele vai 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 de bugs:
$ adb devices List of devices attached emulator-5554 device 8XV7N15C31003476 device $ adb -s 8XV7N15C31003476 bugreport
Salvar um relatório de bugs mais antigo
Por padrão, os relatórios de bugs são salvos em /bugreports
e podem ser visualizados usando o
seguinte comando:
$ adb shell ls /bugreports/ bugreport-foo-bar.xxx.YYYY-MM-DD-HH-MM-SS-dumpstate_log-yyy.txt bugreport-foo-bar.xxx.YYYY-MM-DD-HH-MM-SS.zip dumpstate-stats.txt
Em seguida, é possível extrair o arquivo ZIP usando adb pull
:
$ adb pull /bugreports/bugreport-foo-bar.xxx.YYYY-MM-DD-HH-MM-SS.zip
Inspecionar o arquivo ZIP do relatório de bugs
Por padrão, o arquivo ZIP é chamado
bugreport-BUILD_ID-DATE.zip
. Ele
pode conter vários arquivos, mas o mais importante é o
bugreport-BUILD_ID-DATE.txt
. Esse
é o relatório de bugs e contém
a saída de diagnóstico para serviços do sistema (dumpsys
), registros de erros (dumpstate
)
e 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
com
a carta de lançamento do Android. Quando o Systrace está ativado, ele também
contém um arquivo systrace.txt
. A
ferramenta Systrace
ajuda a analisar o desempenho
do app, gravando e exibindo os tempos de execução dos processos do
app e de 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 possam ser referenciados. Por exemplo,
um arquivo /dirA/dirB/fileC
no dispositivo geraria uma
entrada FS/dirA/dirB/fileC
no arquivo ZIP.
Figura 3. Estrutura do arquivo do relatório de bugs.
Para ver mais informações, consulte Como ler relatórios de bugs.
Receber relatórios dos usuários
É útil gerar relatórios de bugs quando é você quem está usando o app. Contudo, seus usuários finais não podem compartilhar esses tipos de relatórios com você tão facilmente. Para gerar relatórios de erros com stack traces de usuários reais, 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. Dados de seis meses anteriores ficam disponíveis.
Para mais informações, consulte Ver falhas e erros "O app não está respondendo" (ANR) na página de Ajuda do Play Console.
Firebase Crash Reporting
O Firebase Crash Reporting cria relatórios detalhados dos erros presentes no seu app. Os erros são agrupados em problemas com base em stack traces semelhantes e classificados pela gravidade do impacto para os usuários. Além dos relatórios automáticos, é possível registrar eventos personalizados para capturar as etapas que levam a uma falha.
Para começar a receber relatórios de erros de qualquer usuário, adicione as
dependências do Firebase
ao arquivo build.gradle
. Para saber mais, consulte
Firebase Crashlytics.