How to Publish an Ionic App on Google Play
Publishing an Ionic app to Google Play follows the Capacitor workflow for Android. Your web app runs inside Android's WebView, with Capacitor providing the bridge to native APIs. Android is generally more lenient than iOS about hybrid apps, but you still need to meet Google Play's technical requirements including AAB format, target API levels, and content policies. This guide covers the complete process.
Prerequisites
- Android Studio installed with SDK 33+
- A Google Play Developer account ($25 one-time fee)
- Node.js 18+ and Ionic CLI installed
- Capacitor configured in your Ionic project
- Your app tested on Android emulators and physical devices
Step-by-Step Build Process
Build production web assets
Run `ionic build --prod` to generate optimized web assets. Verify the build output is small — large web bundles slow down Android WebView rendering, especially on low-end devices.
Sync to the Android project
Run `npx cap sync android` to copy web assets and install plugin dependencies. This updates the Android project's assets/public/ directory with your latest web build.
Open in Android Studio
Run `npx cap open android` to open the Android Studio project. Review the build.gradle files, ensure the applicationId matches your intended package name, and update versionCode/versionName.
Generate a signed AAB
In Android Studio, go to Build > Generate Signed Bundle. Create or select a keystore. Choose 'release' build variant. The AAB is generated ready for Google Play upload.
Code Signing & Certificates
Android keystore creation
Android Studio guides you through keystore creation during the 'Generate Signed Bundle' flow. Choose a strong password and store the keystore file outside of version control. Back up the keystore securely.
Play App Signing
Enroll in Play App Signing for key recovery protection. This is especially important for Ionic apps since Capacitor projects may be rebuilt from scratch — having Google manage the signing key provides safety.
Store Submission Steps
Create the app in Play Console
Set up the app in Google Play Console with proper categorization. Ionic apps are 'Applications' (not games, unless it's a web-based game).
Complete store listing
Add descriptions, screenshots, and graphics. Capture Android screenshots from a real device or emulator. Ensure Ionic uses Material Design (mode: 'md') for Android screenshots.
Upload and configure release
Upload the AAB, add release notes, and complete all compliance sections. Fill in the data safety form based on what your Ionic app and its Capacitor plugins collect.
Roll out to production
After completing all checklist items, roll out. Consider internal testing first to catch Android-specific WebView issues.
Common Rejection Reasons & Fixes
WebView compatibility issues
Android WebView versions vary by device and can cause rendering issues. Set a minimum Android version that has a modern WebView (API 24+). Add the WebView update check in your app to prompt users with outdated WebView to update.
Missing hardware back button support
Android users expect the hardware/gesture back button to work. Implement Capacitor's App plugin `backButton` listener to handle back navigation within your Ionic app. Without this, back button exits the app.
Excessive permissions from plugins
Capacitor plugins may add permissions to AndroidManifest.xml that your app doesn't use. Review the merged manifest and remove unnecessary permissions using `tools:node="remove"` in your app's AndroidManifest.xml.
Data Safety Form inaccuracies
Review what each Capacitor plugin collects. Common data-collecting plugins: @capacitor/push-notifications, @capacitor/geolocation, analytics plugins. Declare everything accurately in the Data Safety section.
Pro Tips
- Use Capacitor's 'serverUrl' in capacitor.config.ts for live reload during development, but remove it for production
- Set Ionic's mode to 'md' (Material Design) for the Android build to match platform conventions
- Enable hardware acceleration in AndroidManifest.xml for smoother WebView rendering
- Use Capacitor's Keyboard plugin to handle soft keyboard properly — WebView keyboard handling can be tricky
- Test on Android Go and low-RAM devices — WebView apps consume more memory than native apps
Skip the hassle. Let us handle it.
Publishing a Ionic 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.