I hate to say it… but you can’t. There currently isn’t a way to cancel a pending production release in the Google Play Console. Perhaps this constraint is preventing you from publishing any new releases to your internal, closed, and open testing tracks because your app isn’t quite ready to be available on the store yet. There are a couple of options that may help get you unstuck.
Clean Slate Option
Perhaps this is the most obvious option. Abandon your current Android app record in the Google Play Console and create a new one with a brand new bundle identifier. Your old bundle identifier cannot be reused and will forever be assigned to your production release, even if it’s not yet published.
This was the option Google Support suggested to get me unstuck. However, I discovered a more suitable alternative for my project, and it may be more suitable for yours as well.
Stealth Release Option
The caveat here is you’ll still have to publish to production, but using these two strategies, your app will be hard to access and impossible to install.
Make it hard to access
The first step is to make your app hard to access. Google Play gives you the ability to choose what countries your app will be available in. Pick a country that is not likely to know of your company/app and one that has a low population. This is a safety measure in case someone happens to find your app on the Google Play store through a web browser. The idea is to make it accessible to the least amount of people until you are ready for your app’s public debut.
Make it impossible to install
The next step is to upload a special app binary to your production release track. This binary will be unsupported by all Android devices. This will prevent people from seeing your app in the Google Play app, thus making it impossible to install. To make your app unsupported by every Android device, you can use this trick I found from StackOverflow. The idea here is to add an impossible to fulfill app dependency.
You’ll need to add a line like the one below to the Application section of your
<uses-library android:name="divide.by.zero.library" android:required="true"/>
This line adds the requirement of a library that does not exist. As such, this will make your app unsupported by all Android devices.
Cancel an Android Production Release – Solutions?
Maybe this wasn’t the solution you were looking for. It wasn’t my preferred solution. I was hoping I could cancel a pending production release as I could in App Store Connect. But on the bright side, I’m happy that I didn’t have to create a new Play Store record and was able to keep my Apple and Google app bundle identifiers the same. Technically my app is in production prematurely, but as far as I can tell, it’s still under the radar as if it’s unpublished.
I hope these options help get you back on track. Best of luck!