קל לארגן דפים בעזרת אוספים
אפשר לשמור ולסווג תוכן על סמך ההעדפות שלך.
מעקב R8 הוא כלי לקבלת דוח הקריסות המקורי מקובץ ערפול קוד (obfuscated)
דוח קריסות. דוחות הקריסות נוצרים מחדש על ידי התאמה בין שמות המחלקות והשיטות
בקובץ מיפוי להגדרות המקוריות.
שימוש
כדי לשחזר דוח קריסות מעורפל, מעבירים את קובץ המיפוי אל retrace:
אם לא ניתן קובץ של דוח קריסות בשורת הפקודה, מעקב R8 ימתין
את דוח הקריסות שהמשתמש יזין באמצעות קלט רגיל. לאחר הקלט,
סיום זרם הקלט:
ב-Linux ו-macOS: Control+D
ב-Windows: Control+Z+Enter
לאחר מכן הפלט שחוזר על עצמו נכתב לפלט הסטנדרטי.
אפשרויות
בטבלה הבאה מתוארות האפשרויות של שורת הפקודה באחזור R8:
אפשרות
נדרש?
תיאור
--verbose
לא
מדפיסה מידע נוסף, כמו פרמטרים של שיטה וסוג ההחזרה של השיטה.
--info
לא
הגדרת רמת האבחון כinfo. כדי לקבל הסבר מעמיק יותר,
עיינו במאמר אבחון הבעיות.
--quiet
לא
הפחתת כמות המידע המודפסת כדי לשפר את המיקוד.
--regex <regular_exp>
לא
ההגדרה מחליפה את הביטוי הרגולרי שמוגדר כברירת מחדל לניתוח הקווים של דוח הקריסות.
לדוגמה, הביטוי הרגולרי (regex) יכול לנתח דוחות קריסות בסיסיים:
(?:.*? at %c\.%m\(%s(?::%l)?\))|(?:(?:.*?[:"] +)?%c(?::.*)?).
הערות שימוש
באחזור R8 נעשה שימוש בקובץ מיפוי שנוצר למיפוי מחלקה מעורפלת
את השמות של ה-methods בחזרה להגדרה המקורית. מידע נוסף על
כיווץ האפליקציה כדי שאפשר יהיה להפעיל אותה מחדש כמו שצריך,
לפענח דוח קריסות מעורפל
דוגמאות התוכן והקוד שבדף הזה כפופות לרישיונות המפורטים בקטע רישיון לתוכן. Java ו-OpenJDK הם סימנים מסחריים או סימנים מסחריים רשומים של חברת Oracle ו/או של השותפים העצמאיים שלה.
עדכון אחרון: 2025-07-27 (שעון UTC).
[null,null,["עדכון אחרון: 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)."]]