Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
O retrace do R8 é uma ferramenta para receber o stack trace original
de um ofuscado. O stack trace é reconstruído, combinando nomes de classes e de métodos
em um arquivo de mapeamento para as definições originais deles.
Uso
Para fazer o retrace de um stack trace ofuscado, transmita o arquivo de mapeamento para retrace:
Se nenhum arquivo de stack trace for fornecido na linha de comando, o retrace do R8 vai aguardar que
ele seja inserido pelo usuário na entrada padrão. Depois da entrada,
encerre o stream de entrada:
Linux e macOS: Ctrl + D
Windows: Control+Z+Enter
A saída do novo rastreamento é gravada na saída padrão.
Opções
A tabela descreve as opções de linha de comando do retrace do R8:
Opção
Obrigatório?
Descrição
--verbose
não
Mostra mais informações, por exemplo, parâmetros e tipo de retorno do método.
--info
não
Define o nível de diagnóstico como info. Para uma análise mais detalhada,
consulte DiagnosticsHandler.
--quiet
não
Reduz a quantidade de informações mostradas para aumentar o foco.
--regex <regular_exp>
não
Substitui a expressão regular padrão para analisar linhas de stack trace.
Por exemplo, veja a seguir um regex que pode analisar stack traces básicos:
(?:.*? at %c\.%m\(%s(?::%l)?\))|(?:(?:.*?[:"] +)?%c(?::.*)?).
Notas de uso
O retrace do R8 usa o arquivo de mapeamento gerado para mapear nomes de classes e
métodos ofuscados de volta para a definição original. Para saber mais sobre a
redução do seu app para que ele possa receber um retrace corretamente, consulte
Decodificar um stack trace ofuscado.
O conteúdo e os exemplos de código nesta página estão sujeitos às licenças descritas na Licença de conteúdo. Java e OpenJDK são marcas registradas da Oracle e/ou suas afiliadas.
Última atualização 2025-07-27 UTC.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Não contém as informações de que eu preciso","missingTheInformationINeed","thumb-down"],["Muito complicado / etapas demais","tooComplicatedTooManySteps","thumb-down"],["Desatualizado","outOfDate","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Problema com as amostras / o código","samplesCodeIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-07-27 UTC."],[],[],null,["# R8 retrace is a tool for obtaining the original stack trace from an obfuscated\nstack trace. The stack trace is reconstructed by matching class and method names\nin a mapping file to their original definitions.\n| **Note:** R8 retrace is a standalone tool in version 4.0 of the command-line tools package, released with Android Studio 4.2.\n|\n| To download the command-line tools package with the SDK Manager, see\n| [Update your tools with the\n| SDK Manager](/studio/intro/update#sdk-manager). The SDK Manager installs R8 retrace in\n| `cmdline-tools/`\u003cvar translate=\"no\"\u003eversion\u003c/var\u003e`/bin/`.\n|\n| To download the command-line tools package using the command line, see\n| [`sdkmanager`](/studio/command-line/sdkmanager).\n\nUsage\n-----\n\nTo retrace an obfuscated stack trace, pass the mapping file to `retrace`: \n\n retrace \u003cvar translate=\"no\"\u003e path-to-mapping-file [path-to-stack-trace-file] [options] \u003c/var\u003e\n\nIf no stack trace file is given on the command line, R8 retrace waits for\nthe stack trace to be entered by the user through standard input. After input,\nterminate the input stream:\n\n- **Linux, macOS:** Control+D\n- **Windows:** Control+Z+Enter\n\nThe retraced output is then written to standard output.\n\nOptions\n-------\n\nThe following table describes the command-line options of R8 retrace:\n\n| Option | Required? | Description |\n|---------------------------------------------------------|-----------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `--verbose` | no | Prints more information, such as method parameters and method return type. |\n| `--info` | no | Sets the diagnostic level to `info`. For a more in-depth look, refer to [DiagnosticsHandler](https://r8.googlesource.com/r8/+/refs/heads/main/src/main/java/com/android/tools/r8/DiagnosticsHandler.java). |\n| `--quiet` | no | Reduces the amount of information printed to increase focus. |\n| `--regex `\u003cvar translate=\"no\"\u003e<regular_exp>\u003c/var\u003e | no | Overwrites the default regular expression for parsing stack trace lines. For example, the following is a regex that can parse basic stack traces: `(?:.*? at %c\\.%m\\(%s(?::%l)?\\))|(?:(?:.*?[:\"] +)?%c(?::.*)?)`. |\n\nUsage notes\n-----------\n\nR8 retrace uses a generated mapping file for mapping obfuscated class and\nmethod names back to the original definition. For more information about\nshrinking your app so that it can be retraced correctly, see\n[Decode an obfuscated stack trace](/studio/build/shrink-code#decode-stack-trace)."]]