How to publish an Android app to Google Play
How to get a native Kotlin Android app onto Google Play. What Google requires, the first signed bundle and the upload key, the store listing, release tracks from internal testing to production, and what "Submitted" really means.
Google Play has one rule that surprises almost everyone the first time: its publishing API can update an app, but it cannot create one. Your very first release goes through Play Console by hand. After that, every update can come straight from OpenV2. This guide covers both.
What you need
| You need | Why |
|---|---|
| A Google Play developer account | Google charges a one-time registration fee and may verify your identity |
| A successful Android build | OpenV2 writes the app in Kotlin and builds it |
| A Pro or Max plan on OpenV2 | Publishing is part of the paid plans |
| A privacy policy URL | Google requires one for the listing |
Your app module also needs a fixed application ID, a version name and a version code, and the app must target a recent Android API level that Google Play requires. OpenV2 checks this before you submit.
Your first release: the signed bundle
Because the first upload has to happen in Play Console, OpenV2 prepares it for you. In the Google Play flow choose Prepare the first signed bundle:
- Create a new upload key, only for a genuinely new app. If the app already exists on Google Play, import its existing upload key instead. Never create a new key for an app that already exists.
- Download the signed release bundle and the upload-key backup. Keep the backup in a private password manager: it contains the private key.
- In Play Console, create the app, turn on Play App Signing, upload that first bundle, and complete the listing, data safety, content rating and the other declarations Google asks for.
- Come back to OpenV2 and connect your account. From now on, releases go out from the wizard.
New personal developer accounts may have to run a closed test before production access, for example 12 testers for 14 days. Plan for it: it is Google's rule, and no tool can skip it.
Every release after that: three steps
Press Publish and choose Google Play (or More → Google Play).
1. App Info: the store listing
Enter the title, short and full descriptions, language, a public support email and your privacy policy URL. Upload an icon, a feature graphic and 2 to 8 screenshots, or keep the images already in that language's listing. OpenV2 fits images to the sizes Google Play asks for.
2. Google Play: connect your account
Connect the Google account that manages the app, or a service account you invited in Play Console under Users and permissions with access to this app. OpenV2 never asks for your Google password, and it checks again that the account can actually publish this app.
3. Submit: pick a track
| Track | Who sees it |
|---|---|
| Internal testing (default) | A small list of testers you choose, fast to update |
| Production | Everyone on Google Play; needs an explicit confirmation |
Finish any declarations Google still requires in Play Console, then submit. You can follow the release status when you come back to OpenV2.
What "Submitted" means
Submitted means Google Play's API accepted the release on the track you chose. It does not mean Google approved or published it. Review and release timing stay with Google.
Your keys stay private
Your Google credentials and upload key are stored encrypted on OpenV2's servers. Only the upload key is given to the build machine; your source files and your prompts never receive it. Private listing images are removed after submission.
Common mistakes
- Creating a new upload key for an existing app. Google will reject the bundle. Import the existing key.
- Losing the upload-key backup. Store it in a password manager the day you download it.
- Going straight to production. Release to internal testing first, install it from Google Play, then promote.
- Forgetting the privacy policy. It must be in the listing and set in Play Console.
Frequently asked questions
Can OpenV2 create my app on Google Play?
No tool can: Google Play's API only updates existing apps. OpenV2 prepares the first signed bundle, you create the app and upload it in Play Console once, and every later release goes out from OpenV2.
Is the Android app native?
Yes. OpenV2 writes a native Android app in Kotlin, separate from the Swift and SwiftUI iPhone app.
Can I test the Android app before publishing?
Yes. Run it in the cloud emulator in your browser, or install it on your Android phone over USB with OpenV2 Companion after you turn on USB debugging. Every plan can do this.
What does the closed test requirement mean?
Google may require new personal developer accounts to run a closed test, for example with 12 testers for 14 days, before they can publish to production.






