So I uploaded my debug symbols file to Google Play Console and got this error:
The native debug symbols contain an unexpected file: armeabi-v7a/libil2cpp.sym.
The native debug symbols contain an unexpected file: armeabi-v7a/libil2cpp.so.debug.
What does that mean? Why would unity add those two files if the Play console doesn’t expect them? A thing maybe worth mentioning is that I used Proguard minification when doing this build.
When I tried to upload the symbols file without minification it was too big for the console as it only accepts up to 300mb.
Try renaming libil2cpp.sym to libil2cpp.so, and only upload it. libil2cpp.so.debug contains full source code debugging information which Google Play Console doesn’t use anyways
I went ahead and deleted all files in the “armeabi-v7a” folder except the “libunity.sym.so” file and play console accepted it! Thank you so much, I’ve had so much trouble trying to upload the symbols file! EDIT: Read next reply too!
Then I realized that I didn’t actually do it the way you told me to xd, so I redid it in the way you described and the file is accepted, tho it also got accepted after doing what I described in my previous message which confuses me.
All I uploaded this time is basically the symbol zip file including a folder called armeabi-v7a inluding libil2cpp.so (renamed libil2cpp.sym), could you explain why I had to rename the file???
Also one mroe thing, the original symbols file actually conatined three files one of them being a .so file, maybe I should have kept that one instead of renaming some other to .so???
Symbol file name has to match the library name, otherwise there’s a risk that some tool wont be able associate library with symbol file. In case of il2cpp, library name is libil2cpp.so, thus symbol file has to be named the same
Sorry to hijack the conversation but I also face the same issue and I have this error thrown by the Google Play Console: The native debug symbols contain an unexpected file: armeabi-v7a\libunity.sym.so. The native debug symbols contain an unexpected file: armeabi-v7a\libil2cpp.sym.so. The native debug symbols contain an unexpected file: armeabi-v7a\libil2cpp.dbg.so. The native debug symbols contain an unexpected file: arm64-v8a\libunity.sym.so. The native debug symbols contain an unexpected file: arm64-v8a\libil2cpp.sym.so. The native debug symbols contain an unexpected file: arm64-v8a\libil2cpp.dbg.so. The naming is different from the OP’s post so I need some help. Thanks.
This thread was helpful, but my problem is that Google Play doesn’t allow you to manually upload native debug symbols that are greater than 300 MB, and even my relatively simple mobile app has libil2cpp.so of 409MB for ARM64 and 353MB for ARMv7a. Any suggestions or work-arounds?
Just zip them up. If those are already compressed file sizes then i’m not sure, though see below if thats zipped from Unity as it has low level compression.
Couple of notes
Its unclear from your description, but for me in Unity 2018, it will zip all these files into a single file that has the name in the following format which might be important to maintain.
-<product/bundle version>-v.symbols.zip
e.g. MyCoolApp-2.1.0-v11.symbols.zip
Secondly the Unity generated zip is massive almost 1 GB compressed. However if you extract the folders within and then re-zip them using say 7zip via ‘add to archive’ and use the zip format with high level compression setting it comes down to 260MB.
So the answer should be to just zip the files, but you might have to make sure they are in the right format ( directories and naming ) as well as file name of the zip.
I compress the folder “MyApp-1.0.2-v2.symbols”, but I keep getting the same error: “The native debug symbols contain an invalid directory MyApp-1.0.2-v2.symbols. Only Android ABIs are supported.”
Are you sure you are maintaining the correct directory structure?
It would be easy to re-zip the folder and add an additional directory to the folder structure.
e.g. instead 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’
Try unzipping both the original Unity symbols zip and then your own zip and check the full directory structures match.
I’m having this same issue! I get the “The native debug symbols contain an invalid directory AppName-1.32-v18.symbols. Only Android ABIs are supported.”
I’ve unzipped the folder, deleted the debug files, removed the “.sym” from the “.so” files, and have re-zipped. I’ve also confirmed that I’m mirroring the original file structure in the re-zipping process.
Any advice or suggestions would be much appreciated!
If anyone is on Mac OS, I wrote this little bash script to process the symbol file and recompress it with the correct names for the Google Play Store. Size is also smaller so it doesn’t exceed their size limits (partly because *.so.debug is removed).
Take a look at the bash script I provided and you can probably emulate what it’s doing. In Unity 2020 the script changed a bit due to symbol files being renamed. In Unity 2021.2 there’s an option to generate symbols without the debug files and this ZIP can be uploaded directly to Google Play.