How to Publish a Cordova App on Google Play
Publishing a Cordova app to Google Play follows the standard Android build and submission process, with Cordova handling the native project generation. While Cordova is a legacy technology, it still powers many production apps. This guide covers building a signed release, navigating Google Play Console, and addressing common issues specific to Cordova's Android implementation.
Prerequisites
- Android SDK 33+ installed (via Android Studio or command line tools)
- A Google Play Developer account ($25 one-time fee)
- Node.js 18+ and Cordova CLI installed
- JDK 17 installed
- Android platform added (cordova platform add android)
Step-by-Step Build Process
Update config.xml for Android
Set the widget id (package name), version, and Android-specific preferences. Add `<preference name="android-targetSdkVersion" value="34" />` and `<preference name="AndroidWindowSplashScreenAnimatedIcon" value="..." />`.
Generate a signing keystore
Create a keystore using keytool: `keytool -genkeypair -v -storetype PKCS12 -keystore release-key.keystore -alias release -keyalg RSA -keysize 2048 -validity 10000`. Store securely — you need this for all future updates.
Build the release AAB
Run `cordova build android --release --packageType=bundle -- --keystore=release-key.keystore --alias=release --storePassword=PASS --password=PASS`. This generates an .aab file in platforms/android/app/build/outputs/bundle/release/.
Verify the bundle
Use `jarsigner -verify` to confirm the AAB is signed correctly. Test on a device using bundletool to generate and install APKs from the AAB.
Code Signing & Certificates
Build.json for signing configuration
Create build.json with Android signing config: `{ "android": { "release": { "keystore": "path/to/keystore", "storePassword": "...", "alias": "...", "password": "...", "keystoreType": "PKCS12" } } }`. Use `--buildConfig=build.json` with the build command.
Play App Signing
Enroll in Play App Signing during first upload. This is strongly recommended — Cordova projects are sometimes recreated from scratch (cordova platform remove/add), and having Google manage the app signing key provides safety.
Store Submission Steps
Create app in Play Console
Set up the app in Google Play Console. Cordova apps are standard Android apps to Google — no special handling needed.
Complete store listing and policies
Add descriptions, screenshots, and graphics. Complete data safety, content rating, and target audience forms. Be thorough with the data safety section — Cordova plugins often add tracking without clear documentation.
Upload and release
Upload the AAB to internal testing first. Test the release build on multiple devices. Promote to production when satisfied. Add release notes for each version.
Common Rejection Reasons & Fixes
Target SDK too low
Google requires targeting recent API levels. Set `android-targetSdkVersion` to 34+ in config.xml. After updating, test thoroughly — Android API changes can break Cordova plugins that rely on deprecated APIs.
Plugin permissions issues
Cordova plugins may add excessive permissions to AndroidManifest.xml. Review the merged manifest after building and add `<config-file>` entries in config.xml to remove unnecessary permissions.
64-bit native code missing
If using Cordova plugins with native code (NDK), ensure they include arm64-v8a libraries. Some older plugins only include 32-bit armeabi-v7a code. Update or replace plugins that lack 64-bit support.
WebView security vulnerabilities
Ensure your Cordova app uses the latest Android System WebView. Set minimum SDK to 24+ for a modern WebView with security patches. Avoid enabling JavaScript interfaces unless necessary.
Pro Tips
- Migrate to Capacitor if starting a new project — it's the actively maintained successor to Cordova with better Android support
- Use crosswalk-project webview for consistent rendering if supporting Android 5-6, otherwise use the system WebView
- Add `<preference name="AndroidPersistentFileLocation" value="Internal" />` for more reliable file storage
- Clean the platform before release builds: `cordova clean android` to avoid stale build artifacts
- Monitor the Cordova blog for security advisories — the project is still maintained but with less frequency
Skip the hassle. Let us handle it.
Publishing a Cordova 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.