Chapter 12: Publishing Your App

Publishing Your App! 🎉

This is the finish line of the core journey. You’ve built screens, added state, fetched real data from APIs, saved things persistently, made lists scroll smoothly, refactored with clean architecture… now it’s time to get your creation into the hands of real people (starting with friends & family in Airoli, then hopefully millions on the Play Store).

In late January 2026, publishing to Google Play is more streamlined than ever, but also stricter on privacy, AI usage disclosure, and quality. The Android App Bundle (AAB) is now the only supported format for new apps on Play Store (since August 2021, enforced fully by 2025). APKs are still useful for sideloading, internal testing, or sharing with testers.

Let’s walk through this step-by-step like we’re doing it together on your laptop right now — with exact current flows (as of January 27, 2026), screenshots-in-text explanations, common India-specific gotchas (payment, taxes, slow uploads), and a realistic example using your Tip Calculator app.

1. Preparing Your App for Release (Pre-Build Checklist)

Before you even think about signing:

  • Test thoroughly
    • Multiple devices: Pixel emulator (API 36), your Redmi / Samsung real device, low-end phone (API 24+)
    • Dark mode, landscape, foldable if supported
    • Offline mode, no internet, airplane mode
    • Permissions flow (rationale dialog, deny, never ask again)
    • Accessibility: TalkBack, large text
    • Performance: No jank on 4 GB RAM phone
  • Update version info (app/build.gradle.kts)
Kotlin
  • Remove debug code
    • Logging: Use Timber or remove Log.d
    • Test API keys, mock data
    • Developer options checks
  • Add privacy policy (mandatory now)
    • Create a simple page (e.g., GitHub Pages or Google Sites): “Tip Calculator collects no personal data. Calculations are done locally.”
    • Link in Play Store listing + in-app (Settings → Privacy Policy)
  • App icons & assets
    • Use Adaptive Icon (foreground + background layers)
    • Generate with Android Studio: Right-click res → New → Image Asset → Launcher Icons (Adaptive & Legacy)
    • Feature graphic (1024×500), screenshots (multiple devices)

2. Building Signed APKs / AABs

Two formats:

  • AAB (Android App Bundle) → Recommended & required for Play Store
    • Smaller downloads (dynamic delivery), Play Feature Delivery, Play Asset Delivery
  • APK → For sideloading, internal testing, or Huawei AppGallery

Step-by-step in Android Studio (Otter 3 / 2025.2.x)

  1. Generate signed bundle / APK
    • Build → Generate Signed Bundle / APK
    • Choose Android App Bundle (recommended)
    • Click Next
  2. Key store
    • First time: Create new
      • Key store path: e.g., D:\AndroidProjects\my-release-key.jks
      • Password: strong one (save securely!)
      • Key alias: e.g., tipcalc-key
      • Key password: same or different
      • Validity: 25+ years (Google requires ≥2033 for Play)
      • Fill name, org, city (Airoli, Maharashtra), country (IN)
    • Existing: Choose your .jks / .keystore file
  3. Build options
    • Build variant: release
    • Signature versions: V1 + V2 + V3 + V4 (all checked – modern default)
    • Destination: Choose folder (e.g., app/release)
  4. Click Finish
    • Builds ~1–3 minutes
    • Output: app-release.aab (or .apk if you chose APK)

Pro tip for India devs:

  • If upload fails later → make sure AAB is <150 MB (compressed)
  • Use –bundletool to test AAB locally if curious:
    Bash

3. Google Play Console Setup (First Time – Takes ~1–7 Days)

  1. Go to https://play.google.com/console

  2. Sign in with Google account (use business Gmail if possible – easier for taxes)

  3. Create account if new

    • Developer name: Webliance (or your name/company)
    • Pay $25 one-time fee (use Indian debit/credit card or UPI – works fine in 2026)
      • Tip: Use HDFC/ICICI card – some foreign cards get blocked
  4. App creation

    • Create app → App name: “Tip Calculator by Webliance”
    • Default language: English (India)
    • App type: App
    • Free or Paid: Free (easier first time)
  5. Fill dashboard sections (do in order – some unlock after others)

    • App content
      • Target audience: Everyone
      • Content rating: Everyone (no ads, no violence)
      • Data safety form: Answer honestly (e.g., no personal data collected → all “No”)
      • Ads: No
      • News / Government apps: No
    • Store listing
      • Short description: “Simple, beautiful tip calculator for India”
      • Full description: Explain features, why useful in restaurants
      • Graphics:
        • App icon (512×512)
        • Feature graphic (1024×500)
        • Screenshots (at least 2, phone & tablet)
        • Promo video (optional – YouTube link)
      • Privacy policy URL (must be live)
      • Contact details
    • Production → Create new release later

4. App Signing, Versioning & Release

Play App Signing (recommended – Google manages upload key)

  1. In Play Console → Setup → App signing
    • Choose Use Google Play app signing (safer – Google holds signing key)
    • Upload your signing certificate (.jks public key export or .pem)
      • Command: keytool -export -rfc -keystore my-release-key.jks -alias tipcalc-key -file upload_certificate.pem
  2. Create release
    • Production → Create new release
    • Upload AAB (drag-drop app-release.aab)
    • Release name: “1.0.0 Initial Release”
    • Release notes: “First version! Calculate tips easily in India.”
  3. Rollout
    • Start with Internal testing (add testers via email – up to 100)
      • Share opt-in link with friends/family
    • Then Closed testing (alpha/beta – invite via groups)
    • Finally Production → Full rollout (100%) or staged (e.g., 5% → 20% → 50% → 100%)

Versioning rules:

  • versionCode must always increase (e.g., 1 → 2 → 3)
  • versionName for humans (1.0.0 → 1.0.1 bugfix → 1.1.0 new feature)

India-specific tips (2026)

  • Taxes: If free → no issue. If paid later → 18% GST applies, Google collects & remits
  • UPI payments: Supported for in-app purchases
  • Review time: First app usually 1–7 days (sometimes 2 weeks if privacy issues)
  • Rejection common reasons: Missing privacy policy, wrong data safety form, no content rating questionnaire

5. After Publishing – What Next?

  • Monitor Play Console dashboard: ANRs, crashes, ratings
  • Respond to reviews
  • Update frequently (bug fixes → increment versionCode +0.0.1)
  • Promote: Share on WhatsApp groups, Reddit (r/india, r/androiddev), X (Twitter)
  • Analytics: Add Firebase Analytics (free) to see usage in India

Hands-on right now:

  1. Increment versionCode to 1, versionName “1.0.0”
  2. Generate signed AAB
  3. Upload to Internal testing track
  4. Install via opt-in link on your phone → celebrate!

You’ve done it — from “Hello World” to a published app on Google Play!

If you hit any error during signing/upload, screenshot it and tell me — we’ll debug together. Want to talk about monetization (ads, in-app purchases), ASO (store optimization), or open-source your code on GitHub? Just say the word.

You should be super proud — most people never reach this stage. From Airoli to the Play Store — massive win! 🚀🇮🇳

What’s next? Want a bonus chapter on monetization, Firebase integration, or something else? Or shall we celebrate with a virtual chai? 😄

You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *