Unity can produce a package with symbols for native libraries which you can use to symbolicate stack traces and debug your app. Symbolication is the process of translating an active memory address into information you can use, like a method name. This helps you understand where a crash happened.
You can also upload the symbols package to the Google Play Console to see a human-readable stack trace on the Android Vitals dashboard.
There are two ways to enable the creation of symbols packages:
The Public Symbols package contains the information needed to resolve function addresses to human readable strings. Because it doesn’t contain debug information, it’s much smaller than the Debugging Symbols package.
Unity uses the --strip-debug
parameter to create public symbols. To learn more, see information about --strip-debug
in the Linux user manual.
The Debugging Symbols package contains full debugging information and a symbol table. Use it to:
Note: If debugging symbols aren’t available, Unity will place a file with public symbols in your project at build time (for example, libunity.so
, which only contains a public symbols file).
Unity uses the --only-keep-debug
parameter to create debugging symbols. To learn more, see information about --only-keep-debug
in the Linux user manual.
After you upload your app to Google Play, you can also upload a Public or Debugging symbols package (both of them contain the required symbol table). To do this, click the three dots next to the app in the Google Play console and select Uploading native debug symbols (.zip).
After you upload the symbols package, Google Play will symbolicate any crash you receive in Android Vitals > Crashes and ANRs. This can provide additional information on what went wrong.
Note: The crashes Google Play received before you uploaded the symbols package won’t be symbolicated.
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.