Back to Course
Publishing

Publishing Your App — Play Store Deployment

You've built your app, tested it thoroughly, and now it's time to share it with the world. Publishing to the Google Play Store is the final step in your Android development journey. This guide walks you through the entire process — from preparing your app for release to monitoring its performance after launch.

Production Reality: Publishing is not the end — it's the beginning. Your app's success depends on a well-prepared store listing, proper release tracks, and continuous monitoring. A rushed release leads to negative reviews and poor adoption.

1. Pre-Release Checklist

Before you even think about uploading to the Play Store, make sure your app is ready:

  • ✅ Remove debug logs — Remove all Log.d() and Log.i() statements or use a BuildConfig flag.
  • ✅ Update version code and nameversionCode (integer) and versionName (string).
  • ✅ Set android:exported="false" — For activities that shouldn't be accessed by other apps.
  • ✅ Test on multiple devices — Different screen sizes, Android versions, and manufacturers.
  • ✅ Check permissions — Only request permissions you actually need.
  • ✅ Proguard/R8 enabled — Shrink and obfuscate your code.
  • ✅ Remove unused resources — Use shrinkResources true.
  • ✅ Update app icon and splash screen — Professional branding matters.

2. Versioning Your App

In your build.gradle (Module) file:

android {
    defaultConfig {
        // Version code — increment this for each release (must be a unique integer)
        versionCode 1
        
        // Version name — the human-readable version (semantic versioning recommended)
        versionName "1.0.0"
        
        // Or use dynamic versioning
        // versionCode = getVersionCode()
        // versionName = getVersionName()
    }
}

Semantic Versioning

PartDescriptionExample
MajorBreaking changes (incompatible API changes)2.0.0
MinorNew features (backward compatible)1.1.0
PatchBug fixes (backward compatible)1.0.1

3. Generating a Signed Release Build

A signed APK/AAB is required to publish your app. Android App Bundles (.aab) are now the preferred format for publishing to Google Play.

Step 1: Create a Keystore

You need a keystore file to sign your app. Keep it safe — if you lose it, you won't be able to update your app!

Via Android Studio

  1. Go to Build → Generate Signed Bundle / APK
  2. Select Android App Bundle (recommended)
  3. Click Create new to generate a new keystore
  4. Fill in the details:
    • Keystore path: Where to save the file (e.g., my-release-key.jks)
    • Password: Strong password (store it safely)
    • Alias: e.g., key0
    • Validity: 100 years (for long-term compatibility)
  5. Click OK and follow the wizard

Via Command Line

keytool -genkey -v -keystore my-release-key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key0

Step 2: Configure Signing in build.gradle

android {
    signingConfigs {
        release {
            storeFile file("my-release-key.jks")
            storePassword System.getenv("KEYSTORE_PASSWORD")
            keyAlias System.getenv("KEY_ALIAS")
            keyPassword System.getenv("KEY_PASSWORD")
        }
    }
    
    buildTypes {
        release {
            signingConfig signingConfigs.release
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
            shrinkResources true
        }
    }
}
Production Warning: Never hardcode your keystore password in build.gradle! Use environment variables or a local properties file that is NOT committed to version control.

4. Google Play Console Setup

Step 1: Create a Developer Account

  • Go to play.google.com/console
  • Pay the one-time registration fee ($25 USD)
  • Complete your account details (name, address, contact information)

Step 2: Create Your App

  1. Click Create App
  2. Enter your app name
  3. Select App or Game category
  4. Select Free or Paid
  5. Choose your Target audience

5. Store Listing — Making a Great First Impression

Pro Tip: Your store listing is the first thing users see. Invest time in creating compelling visuals and descriptions — it directly impacts your conversion rate.
ElementRequirementsBest Practices
App NameMax 50 charactersInclude keywords, be memorable
Short DescriptionMax 80 charactersHook users immediately
Full DescriptionMax 4000 charactersHighlight features, include keywords
Screenshots2-8 screenshots (JPEG/PNG, 16:9 or 9:16)Show app in action, use captions
App Icon512x512px, PNGSimple, recognizable
Feature Graphic1024x500px, JPEG/PNGPromotional banner
VideoOptional, YouTube link30-60 second promo video

6. Release Tracks — Testing Before Production

Google Play offers multiple release tracks to test your app before public launch:

  • 🔬 Internal Testing: Up to 100 testers. Quick, early-stage testing.
  • 🔬 Closed Testing: Up to 1000 testers. Controlled testing with specific users.
  • 🔬 Open Testing: Unlimited testers. Anyone can join via a link.
  • 🚀 Production: Public release to all users.

Release Flow

Internal Testing → Closed Testing → Open Testing → Production

Recommended approach: Start with internal testing (your team), then closed testing (beta users), then open testing, and finally production release.

7. Publishing Your App — Step by Step

Step 1: Upload Your App Bundle

  1. Go to Play Console → Your App → Production
  2. Click Create New Release
  3. Upload your .aab file
  4. Add release notes (what's new in this version)

Step 2: Content Rating Questionnaire

Complete the content rating questionnaire to determine your app's age rating:

  • Does your app contain violence?
  • Does your app contain sexual content?
  • Does your app contain profanity?
  • Does your app collect personal data?

Step 3: Target Audience & Ads

  • Declare if your app is designed for children
  • Declare if your app contains ads
  • Declare if your app requires certain permissions

Step 4: Review & Publish

  • Review all the information you've entered
  • Click Review Release
  • Click Start Rollout (or Publish for full release)
Production Warning: After submitting, your app goes through a review process that can take anywhere from a few hours to several days. Plan accordingly.

8. App Signing — Google Play App Signing

Google recommends using Google Play App Signing, which allows Google to manage your app's signing key.

  • Benefits: Google manages your app signing key securely.
  • Benefits: You can upgrade to a new signing key if needed.
  • Benefits: Enables features like Android App Bundles.
// To opt-in, select "Google Play App Signing" during app creation
// Or go to Play Console → Your App → Setup → App Signing

9. Post-Launch Monitoring

📊 Track These Metrics:

  • Installs: Total installs, daily installs
  • Uninstalls: App retention rate
  • Crash Rate: Percentage of sessions that crash
  • ANR Rate: Application Not Responding errors
  • Ratings & Reviews: Respond to user feedback
  • Revenue: If monetizing

Using Android Vitals

Google Play Console provides Android Vitals — performance metrics including:

  • ANR rate
  • Crash rate
  • Cold startup time
  • Stuck wakeups

Firebase Crashlytics

Add Firebase Crashlytics for real-time crash reporting:

// Add dependency
implementation 'com.google.firebase:firebase-crashlytics:18.6.0'
implementation 'com.google.firebase:firebase-analytics:21.5.0'

// Initialize
FirebaseCrashlytics.getInstance().setCrashlyticsCollectionEnabled(true)

// Log custom errors
FirebaseCrashlytics.getInstance().log("User attempted to open camera")
FirebaseCrashlytics.getInstance().recordException(exception)

10. Common Publishing Pitfalls

Common Mistakes to Avoid:

Pitfall 1: Losing your keystore

Problem: If you lose your keystore, you cannot update your app. You would need to publish a new app with a new package name.

Solution: Store your keystore securely — multiple backups, cloud storage, password manager.

Pitfall 2: Not testing release build before publishing

Problem: The release build can behave differently from the debug build (Proguard, resource shrinking).

Solution: Always test the signed release APK/AAB on a real device before uploading.

Pitfall 3: Not providing clear release notes

Problem: Users don't know what changed in the new version.

Solution: Write clear, user-friendly release notes explaining what's new, fixed, and improved.

Pitfall 4: Skipping testing tracks

Problem: Publishing directly to production without testing can lead to critical bugs discovered by users.

Solution: Always use internal/closed testing tracks before production.

11. Production-Ready Checklist

  • ✅ Create a keystore — Store it securely with backup.
  • ✅ Configure signing — In build.gradle with environment variables.
  • ✅ Test release build — On a real device.
  • ✅ Update version code and name — Unique for each release.
  • ✅ Enable Proguard/R8 — Minify and obfuscate code.
  • ✅ Remove logs — Remove or disable debug logs.
  • ✅ Check permissions — Only request necessary permissions.
  • ✅ Create store listing — Name, description, screenshots, icon.
  • ✅ Set up testing tracks — Internal, Closed, Open testing.
  • ✅ Complete content rating — Accurately rate your app.
  • ✅ Add privacy policy — Required for apps collecting user data.
  • ✅ Set up crash reporting — Firebase Crashlytics or similar.
  • ✅ Monitor performance — Android Vitals, user reviews.
  • ✅ Plan post-launch — Regular updates, user feedback, feature roadmap.

12. Post-Launch Checklist

  • ✅ Respond to user reviews — Engage with users, address issues.
  • ✅ Monitor crash reports — Fix critical issues immediately.
  • ✅ Track ASO (App Store Optimization) — Optimize keywords and listing.
  • ✅ Analyze user behavior — Use analytics to understand user engagement.
  • ✅ Plan updates — Regular feature updates and bug fixes.
  • ✅ Promote your app — Social media, app review sites, paid ads.
Key Takeaway: Publishing your app is a milestone, not the finish line. The real work begins after launch — monitoring, iterating, and improving based on user feedback. A successful app is one that evolves with its users. Congratulations on reaching this stage, and good luck with your launch!

Ready to master Android Development?

Build real-world Android apps with hands-on projects, mentor-led sessions, and placement support.

Explore Course