Search Unity

Question Symbols.zip is huge, cannot upload to Play Console

Discussion in 'Asset Bundles' started by ManieBesselaar, Aug 24, 2020.

  1. ManieBesselaar

    ManieBesselaar

    Joined:
    Nov 1, 2018
    Posts:
    30
    I hope this is the correct place to ask, if not , sorry I am new to this forum.

    Please help me if you can. I have started publishing my app to the Android play store and need to upload a symbols.zip file to deobfuscate my crash reports. When I build my app in Unity 2020.1.0f1 ( had the same problem in the previous version) the app bundle(aab) is about 35MB, but my symbols.zip is almost 400MB.

    I am using the Android NDK and SDK included with Unity. In my build settings, I have tried using R8 under minify and without.

    Google will not accept such a large symbols file. I really need help figuring out how to get the symbols file to a reasonable size.

    I have tried searching for solutions, but am coming up empty. I have tried moving to a newer version of Unity.

    Any suggestions/solutions would be appreciated.

    Thank you in advance.
     
    fernandobuenolopes likes this.
  2. ManieBesselaar

    ManieBesselaar

    Joined:
    Nov 1, 2018
    Posts:
    30
    Ok. For anyone else who comes across this thread, someone on stack overflow pointed me in the right direction.
    See https://stackoverflow.com/questions...oo-big?noredirect=1#comment112890978_63544670

    Basically just extract the two folders from the symbols.zip and recompress them into a new symbols.zip using better compression. In my case I used 7zip to do the compression.
    Make sure the folder structure inside your new zip file is exactly the same as the old.

    Uploaded to the Google play console. Works great.

    Hope this helps someone.
     
    fernandobuenolopes likes this.
  3. UDN_5c806b49-d8a0-4f67-a296-c12c91aa7396

    UDN_5c806b49-d8a0-4f67-a296-c12c91aa7396

    Joined:
    Jan 9, 2017
    Posts:
    152
    Mine was 1.6gb... I did as what was told and now it's 400mb. I still can't upload it. Not sure what goes into the symbols.zip file and if there's anything I can do to reduce it within the project before exporting it.
     
  4. UDN_5c806b49-d8a0-4f67-a296-c12c91aa7396

    UDN_5c806b49-d8a0-4f67-a296-c12c91aa7396

    Joined:
    Jan 9, 2017
    Posts:
    152
    Anybody can help? What is included in the symbols zip file and if I can remove/uncheck somethings to reduce the size?
     
  5. ManieBesselaar

    ManieBesselaar

    Joined:
    Nov 1, 2018
    Posts:
    30
    Hi there.
    In my case the symbols.zip file contains 2 folders named "arm64-v8a" and "armeabi-v7a" . I think yours should be similar.
    The main thing is just to extract your symbols.zip, take whatever is in the extracted directory ( folder) and put that in a new symbols.zip archive (I use 7-zip, but I suspect most compressors will work) . Make sure that the contents for both archives are the same. Use the new smaller one to upload to Play Console.

    I have found that un-ticking armv7 under "Target architectures" in the "Player Settings" will make your initial symbols.zip smaller, but I am not sure that only supporting 64 bit devices is such a good idea.
    I hope this helps.

    Any one have any good data on how many phones/ tablets out there still use 32bit in some way?
     
  6. UDN_5c806b49-d8a0-4f67-a296-c12c91aa7396

    UDN_5c806b49-d8a0-4f67-a296-c12c91aa7396

    Joined:
    Jan 9, 2017
    Posts:
    152
    @ManieBesselaar thanks for replying! Well, I think it's best to support both 32-64bits. So my initial file size was 1.6gb. I did what you said but the lowest I could go to was 400mb. It is still 100mb above limit. So I'm not sure what actually goes into these files. Maybe I can uncheck some stack trace support for some third-party plugins to reduce the size?
     
  7. ManieBesselaar

    ManieBesselaar

    Joined:
    Nov 1, 2018
    Posts:
    30
    Hi
    Been a little busy so sorry for the late reply. It might be worth a shot. I think this means that of the tgird party plugin causes a crash/anr you won't get any meaningful stack traces though.

    Little out of my depth here. Anyone else have any input maybe?
    Will try to look at this tomorrow.
     
  8. yringel-banditos

    yringel-banditos

    Joined:
    Jul 20, 2016
    Posts:
    4
  9. UDN_5c806b49-d8a0-4f67-a296-c12c91aa7396

    UDN_5c806b49-d8a0-4f67-a296-c12c91aa7396

    Joined:
    Jan 9, 2017
    Posts:
    152
    MikeMnD likes this.
  10. ManieBesselaar

    ManieBesselaar

    Joined:
    Nov 1, 2018
    Posts:
    30
    I think I can help. Sorry for not getting back sooner, I have been busy building a new production pc and migrating everything over. Looking at the link that yringel-banditos sent I think I have a solution for you, though you may have to fill in the gaps.
    In unity under player settings --> publishing settings --> build there is an option to create a custom gradle properties template.
    If you look at this https://developer.android.com/studio/build/shrink-code#android_gradle_plugin_version_41_or_later
    section of the page, they recommend adding
    android.buildTypes.release.ndk.debugSymbolLevel = { SYMBOL_TABLE }
    instead of
    android.buildTypes.release.ndk.debugSymbolLevel = { FULL }
    to help shrink your symbols.zip
    I did not have time to figure out ( I also don't know enough, lol) if this goes in the main gradle template, base gradle template or the gradle properties (this is my guess though)

    It may be good if someone more familiar with the gradle build process jumped in here to correct my blind fumbling.

    I also found that under project settings --> other settings --> optimization selecting strip engine code and setting manageded stripping level to medium gives me about a 10% reduction in my symbols.zip

    Hope this helps. Let me know so that we can all learn.
     
    RGV likes this.
  11. TobyKaos

    TobyKaos

    Joined:
    Mar 4, 2015
    Posts:
    214
    uncompress it and compress with 7zip^after export
     
    ManieBesselaar likes this.