Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-65948

Proguard mapping file not uploaded if native symbols also specified

      With Google Play Android Publisher plugin for Jenkins v4.1, the proguard mapping file does not get uploaded to the Google Play Console if we also specify a native debug symbol zip. Removing the native symbol option lets the mapping file upload work again.

      The .aab itself has the embedded BUNDLE-METADATA/com.android.tools.build.obfuscation/proguard.map, but the Play Console doesn't pick up the mapping file from the .aab. We have to upload the mapping file separately.

          [JENKINS-65948] Proguard mapping file not uploaded if native symbols also specified

          Thanks for the report!

          The behaviour surrounding uploading files explicitly vs in a bundle is unfortunately not documented (last I checked), but this certainly seems unexpected, and feels more like a Google Play bug…

          I'll try and reproduce this and see what can be done, e.g. perhaps by extracting the ProGuard map and uploading it directly, or perhaps asking folk at Google nicely.

          Christopher Orr added a comment - Thanks for the report! The behaviour surrounding uploading files explicitly vs in a bundle is unfortunately not documented (last I checked), but this certainly seems unexpected, and feels more like a Google Play bug… I'll try and reproduce this and see what can be done, e.g. perhaps by extracting the ProGuard map and uploading it directly, or perhaps asking folk at Google nicely.

          Michael added a comment -

          I spent some time looking into this and can report back enough to close this one out. Turns out this is a feature by Google Play: when you upload an AAB with an embedded proguard mapping file, it will automatically work out of the box on Google's backend. You are still given the option to upload a proguard mapping file which override the one in the AAB.

          From StackOverflow:

          https://stackoverflow.com/questions/69483065/mapping-files-for-aab-in-google-play
           

          I did an experiment and can confirm that if we upload only aab file, mapping file will be taken from the aab. If we also upload a separate mapping file, it will override the one in the aab.

          From Google's documentation:

          https://support.google.com/googleplay/android-developer/answer/9848633

          Step 2: Upload a deobfuscation or symbolication file

          To deobfuscate or symbolicate your app's crashes and ANRs for a version of your app, you must upload the deobfuscation or symbolication files for each version of your app.

          Important: This step is only required for developers using APKs. If you’re using an app bundle and Android Gradle plugin version 4.1 or later, then there's nothing you need to do. We'll automatically grab the deobfuscation file from the bundle and you can skip to Step 3: View deobfuscated crash stack traces. You can learn more about app bundles on the Android Developers site.

          Hope this helps someone else!

          Michael added a comment - I spent some time looking into this and can report back enough to close this one out. Turns out this is a feature by Google Play: when you upload an AAB with an embedded proguard mapping file, it will automatically work out of the box on Google's backend. You are still given the option to upload a proguard mapping file which override the one in the AAB. From StackOverflow: https://stackoverflow.com/questions/69483065/mapping-files-for-aab-in-google-play   I did an experiment and can confirm that if we upload only aab file, mapping file will be taken from the aab . If we also upload a separate mapping file, it will override the one in the aab . From Google's documentation: https://support.google.com/googleplay/android-developer/answer/9848633 Step 2: Upload a deobfuscation or symbolication file To deobfuscate or symbolicate your app's crashes and ANRs for a version of your app, you must upload the deobfuscation or symbolication files for each version of your app. Important: This step is only required for developers using APKs. If you’re using an app bundle and Android Gradle plugin version 4.1 or later, then there's nothing you need to do. We'll automatically grab the deobfuscation file from the bundle and you can skip to Step 3: View deobfuscated crash stack traces . You can learn more about app bundles on the Android Developers site . Hope this helps someone else!

            orrc Christopher Orr
            connectiblutz Brian
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated: