Google Play Store
Before you proceed with technical troubleshooting, ensure that you have completed all steps outlined in our Publish to Google Play Store guide.
App crashes after installing uploaded bundle from Play Console
If the app crashes immediately after installing a bundle uploaded from the Play Console, then the cause is often a security violation triggered by the app's security solution, Promon SHIELD®.
1. Retrieve the logs
Depending on your environment and access level, you can use one of the following methods to retrieve the crash logs:
Method 1: Google Play Console (after upload)
If the app is already distributed via any Google Play track (Internal, Closed, Open, or Production), Google automatically aggregates crash data.
- Log in to the Google Play Console.
- Select your application, then navigate to Monitor and improve > Android vitals > Crashes and ANRs.
- Select the most recent crash event, then locate the Stack trace section.
- Scan the log for the two-digit exception code.
Example: Exception code
qmfk.l: 01
Method 2: Android Debug Bridge (local testing)
If you have physical access to the device, you can stream logs directly to your terminal using the ADB tool.
If you have Android Studio installed, then ADB is already included. This means that you can use the integrated terminal.
- If you do not have Android Studio, then toy need to download the stand-alone SDK Platform Tools for your computer's operating system (Windows, macOS, or Linux).
- Unzip the downloaded file, then either open your terminal (macOS/Linux) or Command Prompt (Windows) to navigate to it.
Example: Navigate to file
cd Desktop/platform-tools - On the Android device, enable USB Debugging within the Developer Options menu, then connect the device to your computer with USB.
- Run the command below to filter for high-priority errors:
- macOS/Linux
- Windows
Example: Filter for high-priority errors on macOs/Linux./adb logcat *:EExample: Filter for high-priority errors on Windowsadb logcat *:E - Launch the app to reproduce the crash. The terminal then outputs a
FATAL EXCEPTIONcontaining the required error code.
To enable Developer Options on the mobile device:
- Go to Settings > About Phone
- Tap the Build Number seven times.
USB Debugging is now available inside the newly-visible Developer Options menu.
2. Identify the error code
Once you have retrieved the logs:
- Locate the two-digit code in the exception stack trace as shown in the following example:
Example: Exception stack trace
FATAL EXCEPTION:
qmfk.l: 01
at qmfk.L.a(Unknown Source:112)
at qmfk.L.b(Unknown Source:12) - Use the exception code reference to determine which security check caused the app to terminate:
Exception code reference
This table does not contain an exhaustive list of all possible exception codes.
If you detect an error code that is not listed above, then you can:- Refer to the official Promon SHIELD® documentation.
- Contact us by creating a support ticket in the Signicat Dashboard.
How to resolve
The most common issue when deploying to the Play Store is 01: RepackagingException.
It occurs when the app's internal shielding detects that the certificate used to sign the app is different from the ones embedded in the shield configuration.
To resolve this, you can verify the following points:
1. Mismatched certificates
When preparing the app, you provided Signicat with your deployment_cert.der and upload_cert.der files using a support ticket in the Signicat Dashboard.
If the keys used in your Google Play Console have changed, or if incorrect certificates were originally provided, then the app will crash. You must ensure you are signing the .aab file with the exact upload key that corresponds to the upload_cert.der that you sent us.
2. Incomplete resigning process
Before signing the bundle with your upload key, you must remove the following default Signicat signatures from the .aab archive:
META-INF/CERT.SFMETA-INF/CERT.RSAMETA-INF/MANIFEST.MF
To confirm this process was followed exactly, review Step 4 of the Google Play Publishing Guide.
3. Signature verification
You can manually verify which certificate is currently attached to your app bundle. To do this, open your terminal and run:
keytool -printcert -jarfile <PATH_TO_YOUR_APP_BUNDLE>
4. Disable Play Console automatic protection
As noted in our Google Play Publishing Guide, Google Play's automatic protection service adds files to the app bundle that conflict with Promon SHIELD® repackaging detection.
You must ensure that this is disabled in the Play Console to prevent app crashes and submission errors.
5. Disable Play Integrity API
Similarly to automatic protection in the Play Console, the Play Integrity API is not supported by the app's security solution.
You must ensure that this is disabled to prevent conflicts.