Google Play (Android)Capacitor

How to Publish a Capacitor App on Google Play

Capacitor's Android integration creates a standard Android Studio project wrapping your web app in a WebView. Google Play is generally more accommodating of hybrid apps than Apple, but you still need to meet technical requirements for target SDK, app bundles, and content policies. This guide covers the Capacitor-specific Android publishing workflow from build to Play Store release.

Prerequisites

  • Android Studio with SDK 33+ installed
  • A Google Play Developer account ($25 one-time fee)
  • Node.js 18+ installed
  • Capacitor 5+ with Android platform added (@capacitor/android)
  • Your web app's production build ready

Step-by-Step Build Process

1

Build web assets for production

Run your framework's build command. Ensure the output is in the directory specified by `webDir` in capacitor.config.ts. Optimize images and bundle size — Android WebView performance varies significantly across devices.

2

Sync to Android project

Run `npx cap sync android`. This copies web assets to android/app/src/main/assets/public/ and configures native plugin dependencies in the Gradle files.

3

Open in Android Studio

Run `npx cap open android`. Review build.gradle, update applicationId, versionCode, and versionName. Check that minSdkVersion is 22+ and targetSdkVersion is 34+.

4

Generate signed AAB

Use Build > Generate Signed Bundle in Android Studio. Create a keystore if you don't have one. Select the release build variant and generate the .aab file.

Code Signing & Certificates

Create and manage keystore

Android Studio's signing wizard creates a PKCS12 keystore. Store the file, passwords, and alias securely outside version control. Back up to a secure location — this key is needed for all future updates.

Play App Signing

Enroll in Play App Signing when uploading your first build. Google manages the app signing key, and you use a separate upload key. This is recommended for all new apps.

Store Submission Steps

1

Create app in Play Console

Set up the app with appropriate name, language, type (Application), and pricing. Capacitor apps should be listed as applications unless you're wrapping a web game.

2

Complete store listing

Write descriptions, upload screenshots from Android devices (showing Material Design if applicable), add icons and feature graphic. Don't reuse iOS screenshots — the UI should look Android-native.

3

Upload and configure

Upload the AAB to a testing track (internal recommended for first release). Complete all policy declarations: data safety, content rating, target audience.

4

Roll out

Once internal testing passes, promote to production. Fill in release notes. New app reviews take 1-7 days.

Common Rejection Reasons & Fixes

WebView version compatibility

Older Android devices may have outdated WebView versions causing crashes. Set minSdkVersion to 24+ for a modern WebView. Consider using Capacitor's compatibility check to warn users with outdated system WebView.

Back button doesn't work properly

Android's system back button must work correctly. Use Capacitor's `App.addListener('backButton')` to handle in-app back navigation. Without this, pressing back exits the app completely.

Excessive battery usage

WebView apps can drain battery if they keep JavaScript running in the background. Ensure your app properly pauses when backgrounded using Capacitor's App plugin lifecycle events.

Content not loading offline

If your app shows blank screens without internet, implement offline detection with Capacitor's Network plugin and show appropriate fallback UI.

Pro Tips

  • Use Capacitor's native HTTP API for network requests — it bypasses CORS and uses the native HTTP stack for better performance
  • Configure ProGuard rules in proguard-rules.pro to keep Capacitor bridge classes from being stripped
  • Test on Chrome WebView and Samsung Internet WebView — they can behave differently
  • Use Capacitor's ScreenReader plugin to improve accessibility for TalkBack users
  • Set `android:usesCleartextTraffic="false"` in AndroidManifest for security, and only allow HTTPS connections

Skip the hassle. Let us handle it.

Publishing a Capacitor app on the Google Play (Android) involves dozens of steps, certificates, and potential rejection pitfalls. Our team handles the entire process for you — from build configuration to store approval.

Related Guides