Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
Retrace de R8 es una herramienta que permite obtener el seguimiento de pila original a partir de uno ofuscado. Para reconstruir el seguimiento de pila, haz coincidir los nombres de las clases y de los métodos que aparecen en un archivo de asignación con sus definiciones originales.
Uso
Para rastrear un seguimiento de pila ofuscado, pasa el archivo de asignación a retrace, como se indica a continuación:
Si no se proporciona ningún archivo de seguimiento de pila en la línea de comandos, la herramienta Retrace de R8 esperará a que el usuario ingrese el seguimiento de pila a través de una entrada estándar. Luego, finaliza el flujo de entrada de la siguiente manera:
Linux o macOS: Control + D
Windows: Control + Z + Intro
El resultado del rastreo se escribe en el resultado estándar.
Opciones
En la siguiente tabla, se describen las opciones de línea de comandos de la herramienta Retrace de R8:
Opción
¿Obligatoria?
Descripción
--verbose
no
Imprime más información, como los parámetros y el tipo de datos que se muestra del método.
--info
no
Establece el nivel de diagnóstico en info. Para obtener información más detallada, consulta DiagnosticsHandler.
--quiet
no
Reduce la cantidad de información impresa para aumentar el foco.
--regex <regular_exp>
no
Reemplaza la expresión regular predeterminada para analizar las líneas de seguimiento de pila.
Por ejemplo, la siguiente es una regex que puede analizar seguimientos de pila básicos:
(?:.*? at %c\.%m\(%s(?::%l)?\))|(?:(?:.*?[:"] +)?%c(?::.*)?).
Notas de uso
Retrace de R8 usa un archivo de asignación generado para volver a asignar los nombres de las clases y de los métodos ofuscados a la definición original. Si deseas obtener más información para reducir tu app de modo que se pueda rastrear correctamente, consulta el artículo para decodificar un seguimiento de pila ofuscado.
El contenido y las muestras de código que aparecen en esta página están sujetas a las licencias que se describen en la Licencia de Contenido. Java y OpenJDK son marcas registradas de Oracle o sus afiliados.
Última actualización: 2025-07-27 (UTC)
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Falta la información que necesito","missingTheInformationINeed","thumb-down"],["Muy complicado o demasiados pasos","tooComplicatedTooManySteps","thumb-down"],["Desactualizado","outOfDate","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Problema con las muestras o los códigos","samplesCodeIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 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)."]]