+12 votes

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 ( http://developer.android.com/tools/publishing/app-signing.html ), 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 :)

in Engine by (32 points)

1 Answer

+17 votes
Best answer

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.

by (672 points)
selected by
Thanks, that worked great!

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.

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

Thanks!! Worked !!!

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

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

Welcome to Godot Engine Q&A, where you can ask questions and receive answers from other members of the community.

Please make sure to read How to use this Q&A? before posting your first questions.
Social login is currently unavailable. If you've previously logged in with a Facebook or GitHub account, use the I forgot my password link in the login box to set a password for your account. If you still can't access your account, send an email to webmaster@godotengine.org with your username.