How to release project to Google Play store (Android release mode)?

:information_source: Attention Topic was automatically imported from the old Question2Answer platform.
:bust_in_silhouette: Asked By captainnimmo
:warning: Old Version Published before Godot 3 was released.

I am slowly getting nearer to releasing my first game for Android. I have managed to export my game in debug mode using the documentation ( http://docs.godotengine.org/en/latest/tutorials/asset_pipeline/exporting_for_android.html ) and I’ve sent it to some friends to test.

As I would like to release the game for free on the Play Store (it will have the admob module). When uploading to the Google Play Developer Console for alpha testing, it gives an error saying it needs to be signed in release mode, not debug mode.

How do I go about exporting my project in release mode?

I have tried turning “enable debug” off, to which the console said that the package was unsigned.

I have tried creating a key in Android studio ( Sign your app  |  Android Studio  |  Android Developers ), which gives me a jks file, but I still get the same error.
I am using the compiled 1.1. stable version of Godot with the AdMob module included (although I’m using 2 stable for new games).

As a slight aside, would it be worth having how to release “release” versions in the documentation?

Thanks for any help :slight_smile:

:bust_in_silhouette: Reply From: lukas

When you turn off “enable debug” you need release key (in the text that follows called release.keystore).
In console (I tried it on LInux, but I thing it also should work on Windows) you can use this command:

keytool -genkey -v -keystore release.keystore -alias yourKeyAlias -keyalg RSA -keysize 2048 -validity 10000

Replace “yourKeyAlias” with alias of your choice. It will ask you several questions (name, organization, country, etc.), which I think you do not need to fill and a password.

After that the “release.keystore” should be created. Then in Godot android export in paragraph called “keystore” in Release set path to release.keystore, in Release user fill “yourKeyAlias”, in Release password fill your password.

Then, when exporting, turn off the enable debug.

Thanks, that worked great!

captainnimmo | 2016-02-24 22:19

I’m not sure why this worked. If I create a keystore using RSA then Godot’s signing command during export, which is hard coded to SHA1WithRSA, fails for me. If I then create a SHA1WithRSA keystore, it works.

duke_meister | 2016-05-24 23:06

You save my life, even two years later. Good job :slight_smile:

JokerDDZ | 2018-09-28 08:18

Thanks!! Worked !!!

goncalves83 | 2018-12-08 03:44

Thank you so much. I was fiddling with this for an entire day that I was so depressed until I found this.

umsee | 2019-10-26 04:10

Hello, this is very old but uploading the apk to playstore after completing all these steps give me this error ERROR: JAR_SIG_NO_MANIFEST: Missing META-INF/MANIFEST.MF. Can anyone help?

hamza_memon | 2020-09-02 07:21