Оптимизируйте свои подборки
Сохраняйте и классифицируйте контент в соответствии со своими настройками.
R8 retrace — это инструмент для получения исходной трассировки стека из запутанной трассировки стека. Трассировка стека реконструируется путем сопоставления имен классов и методов в файле сопоставления с их исходными определениями.
Использование
Чтобы отследить запутанную трассировку стека, передайте файл сопоставления для retrace :
Если в командной строке не указан файл трассировки стека, обратная трассировка R8 ожидает ввода трассировки стека пользователем через стандартный ввод. После ввода завершите входной поток:
Linux, macOS: Control+D
Windows: Control+Z+Enter.
Полученный результат затем записывается в стандартный вывод.
Параметры
В следующей таблице описаны параметры командной строки повторной трассировки R8:
Вариант
Необходимый?
Описание
--verbose
нет
Печатает дополнительную информацию, такую как параметры метода и тип возвращаемого значения метода.
--info
нет
Устанавливает уровень диагностики info . Для более подробной информации обратитесь к DiagnosticsHandler .
--quiet
нет
Уменьшает объем печатаемой информации для повышения концентрации внимания.
--regex <regular_exp>
нет
Перезаписывает регулярное выражение по умолчанию для анализа строк трассировки стека. Например, следующее регулярное выражение может анализировать базовые трассировки стека:
(?:.*? at %c\.%m\(%s(?::%l)?\))|(?:(?:.*?[:"] +)?%c(?::.*)?) .
Примечания по использованию
R8 retrace использует сгенерированный файл сопоставления для сопоставления запутанных имен классов и методов обратно в исходное определение. Дополнительные сведения о сжатии приложения, чтобы его можно было правильно отслеживать, см. в разделе Декодирование запутанной трассировки стека .
Контент и образцы кода на этой странице предоставлены по лицензиям. Java и OpenJDK – это зарегистрированные товарные знаки корпорации Oracle и ее аффилированных лиц.
Последнее обновление: 2025-07-29 UTC.
[null,null,["Последнее обновление: 2025-07-29 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)."]]