Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

The native debug symbols contain an invalid directory symbols. Only Android ABIs are supported

When i'm trying to upload my symbols.zip file on play console this error msg is coming please help me about this "The native debug symbols contain an invalid directory symbols. Only Android ABIs are supported" - unity

enter image description here

like image 628
Jayaprakash Avatar asked Nov 01 '25 22:11

Jayaprakash


1 Answers

By default the debug symbols zip that Unity produces does not conform to what Google Play expect. However its easily rectified as long as you follow these steps accurately.


Step 1: Make A Back Up

Before proceeding make a back up of the original symbols.zip file! You want to keep this around in case you need it in the future. Though in practice I've never found a need for it but its better to be safe. I usually unzip it then use 7-Zip to re-compress it to a much smaller filer.


Step 2: Unzip the Symbols and Fix Them

Unzip the symbols.zip to a separate folder.

Within it you should find one or two folders called 'arm64-v8a' and/or 'armeabi-v7a' depending on if you are supporting older 32bit arm cpus.

For each of those folders;

  • Open the folder.
  • Delete the file 'libil2cpp.so.debug'.
  • Rename the file 'libil2cpp.sym' to 'libil2cpp.so'.

Sometimes the file names are different, in that case

  • Delete the file 'libil2cpp.dbg.so'
  • Rename the file 'libil2cpp.sym.so' to 'libil2cpp.so'
  • Rename the file 'libunity.sym.so' to 'libunity.so'

Step 3: Zip Up Your New Symbols

Select the folders and zip them up.

On Windows you can simply use right-click - send to - compressed ( zipped ) folder, though I use 7-Zip via 'add to archive' using the zip format with a high compression level.

IMPORTANT You must ensure that the zip directory structure matches that of the original Unity generated symbols.zip. Which is that both folders are 'loose' in the zip file, they are NOT children of a parent folder!

For example instead of having a zip of

MyApp-1.0.2-v2.symbols / arm64-v8a / libil2cpp.sym.so

you might end up with

MyApp-1.0.2-v2.symbols/MyApp-1.0.2-v2.symbols / arm64-v8a / libil2cpp.sym.so


Step 4: Rename Your Newly Zipped File

Rename the newly zipped file to match the name of the original Unity generated symbols.zip file.


Step 5: Upload Your New Symbols.zip

You should be able to upload the symbols.zip to the Play Console without error.

If you do get an error, double check the zip against the original one from Unity. Make sure the filenames match exactly and ensure the directory structures match!

If you still have an error you may need to rename 'libunity.sym.so' to 'libunity.so' in both folders too - though there are conflicting reports on that and I've never had to.


It should be noted that Unity's default compression settings for the zip are poor, generating very large files with poor compression. When you re-zip the symbols after following the steps above it should be much smaller. For example I frequently get 1GB debug.symbol.zips from Unity, but end up with only about 150MB zip file after performing the steps above.

like image 147
NoiseCrime Avatar answered Nov 03 '25 12:11

NoiseCrime