Quick Reference for AI Agents & DevelopersPublishing checklist:
Play Console: https://play.google.com/console
- Reduce app size - Remove unused resources, enable ProGuard/R8
- Prepare signed bundle - Generate signed AAB with proper versioning
- Create Play Console account - One-time $25 fee
- Upload app bundle - Submit to Google Play Console
- Complete store listing - Add screenshots, description, privacy policy
Play Console: https://play.google.com/console

1. Reduce App Size
App size is a key concern before publishing on the Play Store. Android Studio provides plugins and tools that help you reduce app size. One way to reduce app size is to remove unused resources. Android Studio provides an option called “Remove unused Resources” under the “Refactor” menu, which helps you remove unused resources from your app. Check the link below for different ways to reduce your app size: https://developer.android.com/topic/performance/reduce-apk-size2. Prepare the Signed Release App Bundle
Before preparing the signed release app bundle, ensure that the android:debuggable attribute is not present in your manifest file. Also, maintain the versionCode and versionName in your (app-level) build.gradle for each release.- Groovy
3. Upload an App
To upload an app on Google Play Store, you need a Google account. Sign in to your Google account or create a new one if you don’t have one. Then click on the link below: https://play.google.com/apps/publish/ If you already have a merchant account, it shows you a list of your published apps. Otherwise, it prompts you to sign up as a merchant account and pay a one-time charge.This is a one-time fee of $25. Pay it to start uploading your first app. You can publish other apps through this account later without being charged again.
Best Practices
Test Release Build Thoroughly
Test Release Build Thoroughly
Always test your signed release build on multiple devices before uploading to Play Store. Release builds may behave differently than debug builds due to ProGuard/R8 optimizations.
Maintain Version Control
Maintain Version Control
Increment
versionCode for every release (even minor updates) and update versionName to reflect the user-facing version. Google Play requires increasing version codes for updates.Keep Signing Key Secure
Keep Signing Key Secure
Store your app signing key securely and create backups. Losing your signing key means you cannot update your app on Play Store. Consider using Google Play App Signing for additional security.
Enable ProGuard/R8
Enable ProGuard/R8
Enable code shrinking and obfuscation in your release build to reduce app size and protect your code. Test thoroughly after enabling to catch any ProGuard-related issues.
Prepare Quality Screenshots
Prepare Quality Screenshots
Provide high-quality screenshots and promotional graphics that showcase your app’s key features. Good visuals significantly impact download rates.
Troubleshooting
App Bundle Upload Failed
App Bundle Upload Failed
Symptom: Google Play Console rejects your app bundle upload.Cause: Version code is not higher than the previous release, or the bundle is not properly signed.Solution: Ensure
versionCode in build.gradle is higher than the current production version. Verify the bundle is signed with the correct keystore. Check for any validation errors in the Play Console.App Crashes After Release
App Crashes After Release
Symptom: App works in debug mode but crashes in release build.Cause: ProGuard/R8 may be removing necessary code, or debug-specific code is causing issues.Solution: Review ProGuard rules and add keep rules for CometChat SDK classes. Remove any
android:debuggable="true" from your manifest. Test the release build thoroughly before publishing.Large App Size Warning
Large App Size Warning
Symptom: Play Console warns about large app size affecting downloads.Cause: Unused resources, large assets, or unoptimized libraries are included in the bundle.Solution: Use Android Studio’s “Remove Unused Resources” feature. Enable resource shrinking in build.gradle. Consider using Android App Bundle format which automatically optimizes for different device configurations.