Zadbaj o dobrą organizację dzięki kolekcji
Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
Retrace R8 to narzędzie do uzyskiwania oryginalnego zrzutu stosu z zaciemnionego kodu
zrzut stosu. Zrzut stosu jest rekonstruowany przez pasujące nazwy klas i metod
w pliku mapowania do ich oryginalnych definicji.
Wykorzystanie
Aby ponownie śledzić zaciemniony zrzut stosu, przekaż plik mapowania do usługi retrace:
Jeśli w wierszu poleceń nie zostanie podany żaden plik zrzutu stosu, ponowne śledzenie R8 będzie czekać na
zrzut stosu do wpisania przez użytkownika przy użyciu standardowych danych wejściowych. Po wprowadzeniu danych
zakończ strumień wejściowy:
Linux, macOS: Control+D
Windows: Control+Z+Enter
Wycofane dane wyjściowe są zapisywane na standardowych danych wyjściowych.
Opcje
W poniższej tabeli opisano opcje wiersza poleceń umożliwiające ponowne śledzenie w R8:
Option
Wymagany?
Opis
--verbose
nie
Wydrukuje więcej informacji, takich jak parametry metody i typ zwracania metody.
--info
nie
Ustawia poziom diagnostyki na info. Aby dowiedzieć się więcej,
zapoznaj się z metodą diagnosticHandler.
--quiet
nie
Mniejsza ilość wydrukowanych informacji w celu zwiększenia ostrości.
--regex <regular_exp>
nie
Zastępuje domyślne wyrażenie regularne służące do analizowania linii zrzutu stosu.
Na przykład to wyrażenie regularne, które może analizować podstawowe zrzuty stosu:
(?:.*? at %c\.%m\(%s(?::%l)?\))|(?:(?:.*?[:"] +)?%c(?::.*)?).
Zastosowanie
Ponowne śledzenie w R8 używa wygenerowanego pliku mapowania do mapowania zaciemnionej klasy i
z przywracaniem nazw metod do pierwotnej definicji. Więcej informacji na temat:
aplikacji, tak aby można było poprawnie ją pobrać, zobacz
Dekodowanie zaciemnionego zrzutu stosu.
Treść strony i umieszczone na niej fragmenty kodu podlegają licencjom opisanym w Licencji na treści. Java i OpenJDK są znakami towarowymi lub zastrzeżonymi znakami towarowymi należącymi do firmy Oracle lub jej podmiotów stowarzyszonych.
Ostatnia aktualizacja: 2025-07-27 UTC.
[null,null,["Ostatnia aktualizacja: 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)."]]