+1 vote

I'm about to release my first godot game (in Godot 3.1 stable) in the Google play store and after some succesful closed alpha testing, the app suddenly stopped working in release mode. ('App keeps stopping;) when launching.

I haven't made changes to the game, even backup projects (that used to work fine in release mode) and other simple test projects are now crashing in release mode. Again, all work fine on my device (Pixel 2xl) when in debug mode. It seems like I just overlook something here.

When exporting I just do the usual by selecting the release keystore and pw in the export settings and sign + align the apk afterwards.

Also tried updating the export templates for 3.1 but no result.
Any ideas or potential solutions are more then welcome.

Thanks!

asked Apr 17 in Projects by Rikkantio (13 points)

Did you try uninstalling the app first? (Before installing the release version)

You can request some debug dump file in android. (From the debug settings in android)
This is basically a big zipped concatenated log file. Maybe you find some hints about the problem in there. (No root required, just enabled debug settings in android.)

Thanks for the reply,

Yes I did uninstall the previous version of the app first before installing the release version.

The apk is called 'rocketspacer' and several crashes are reported in the log. But I'm not sure where to look at for any solutions for this. I'll keep investigating but any help is appreciated :)

For your convenience, here's the part I think where the crash occurs:

04-13 23:12:28.949 10175  9103  9120 F libc    : Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x8 in tid 9120 (GLThread 1392), pid 9103 (ne.rocketspacer)

04-13 23:12:28.995 10175 9103 9120 F libc : failed to wait for crashdump helper: No child processes
04-13 23:12:28.999 10175 9134 9134 F DEBUG : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
04-13 23:12:28.999 10175 9134 9134 F DEBUG : Build fingerprint: 'google/taimen/taimen:9/PQ2A.190205.002/5164942:user/release-keys'
04-13 23:12:29.000 10175 9134 9134 F DEBUG : Revision: 'rev
10'
04-13 23:12:29.000 10175 9134 9134 F DEBUG : ABI: 'arm'
04-13 23:12:29.000 10175 9134 9134 F DEBUG : pid: 9103, tid: 9120, name: GLThread 1392 >>> org.godotengine.rocketspacer <<<
04-13 23:12:29.000 10175 9134 9134 F DEBUG : signal 11 (SIGSEGV), code 1 (SEGVMAPERR), fault addr 0x8
04-13 23:12:29.000 10175 9134 9134 F DEBUG : Cause: null pointer dereference
04-13 23:12:29.000 10175 9134 9134 F DEBUG : r0 cf19afe0 r1 00000008 r2 cbd57cf8 r3 cf50a8e0
04-13 23:12:29.000 10175 9134 9134 F DEBUG : r4 00000003 r5 00000003 r6 00000001 r7 00000000
04-13 23:12:29.000 10175 9134 9134 F DEBUG : r8 cf50a984 r9 ed97bd8c r10 cbd57cf8 r11 cc7ed948
04-13 23:12:29.000 10175 9134 9134 F DEBUG : ip d13b113c sp cf50a830 lr cf905a20 pc d0c59114
04-13 23:12:29.063 10175 9134 9134 F DEBUG :
04-13 23:12:29.063 10175 9134 9134 F DEBUG : backtrace:
04-13 23:12:29.063 10175 9134 9134 F DEBUG : #00 pc 01656114 /data/app/org.godotengine.rocketspacer-4SfQy6b
vSByAj51T0mFMg==/lib/arm/libgodotandroid.so
04-13 23:12:29.063 10175 9134 9134 F DEBUG : #01 pc 00302a1c /data/app/org.godotengine.rocketspacer-4SfQy6b
vSByAj51T0mFMg==/lib/arm/libgodotandroid.so
04-13 23:12:29.063 10175 9134 9134 F DEBUG : #02 pc 002d2a8c /data/app/org.godotengine.rocketspacer-4SfQy6b
vSByAj51T0mFMg==/lib/arm/libgodotandroid.so
04-13 23:12:29.063 10175 9134 9134 F DEBUG : #03 pc 002d2ad4 /data/app/org.godotengine.rocketspacer-4SfQy6b
vSByAj51T0mFMg==/lib/arm/libgodotandroid.so
04-13 23:12:29.063 10175 9134 9134 F DEBUG : #04 pc 007bfe28 /data/app/org.godotengine.rocketspacer-4SfQy6b
vSByAj51T0mFMg==/lib/arm/libgodotandroid.so
04-13 23:12:29.063 10175 9134 9134 F DEBUG : #05 pc 00cd5fe8 /data/app/org.godotengine.rocketspacer-4SfQy6b
vSByAj51T0mFMg==/lib/arm/libgodotandroid.so
04-13 23:12:29.063 10175 9134 9134 F DEBUG : #06 pc 01582f28 /data/app/org.godotengine.rocketspacer-4SfQy6b
vSByAj51T0mFMg==/lib/arm/libgodotandroid.so
04-13 23:12:29.063 10175 9134 9134 F DEBUG : #07 pc 007c1c18 /data/app/org.godotengine.rocketspacer-4SfQy6b
vSByAj51T0mFMg==/lib/arm/libgodotandroid.so
04-13 23:12:29.063 10175 9134 9134 F DEBUG : #08 pc 007c1b9c /data/app/org.godotengine.rocketspacer-4SfQy6b
vSByAj51T0mFMg==/lib/arm/libgodotandroid.so
04-13 23:12:29.063 10175 9134 9134 F DEBUG : #09 pc 007c1b9c /data/app/org.godotengine.rocketspacer-4SfQy6b
vSByAj51T0mFMg==/lib/arm/libgodotandroid.so
04-13 23:12:29.063 10175 9134 9134 F DEBUG : #10 pc 007c1b9c /data/app/org.godotengine.rocketspacer-4SfQy6b
vSByAj51T0mFMg==/lib/arm/libgodotandroid.so
04-13 23:12:29.063 10175 9134 9134 F DEBUG : #11 pc 007c1b9c /data/app/org.godotengine.rocketspacer-4SfQy6b
vSByAj51T0mFMg==/lib/arm/libgodotandroid.so
04-13 23:12:29.063 10175 9134 9134 F DEBUG : #12 pc 007c1b9c /data/app/org.godotengine.rocketspacer-4SfQy6b
vSByAj51T0mFMg==/lib/arm/libgodotandroid.so
04-13 23:12:29.063 10175 9134 9134 F DEBUG : #13 pc 007c1b9c /data/app/org.godotengine.rocketspacer-4SfQy6b
vSByAj51T0mFMg==/lib/arm/libgodotandroid.so
04-13 23:12:29.063 10175 9134 9134 F DEBUG : #14 pc 007c74a0 /data/app/org.godotengine.rocketspacer-4SfQy6b
vSByAj51T0mFMg==/lib/arm/libgodotandroid.so
04-13 23:12:29.063 10175 9134 9134 F DEBUG : #15 pc 007eaf84 /data/app/org.godotengine.rocketspacer-4SfQy6b
vSByAj51T0mFMg==/lib/arm/libgodotandroid.so
04-13 23:12:29.063 10175 9134 9134 F DEBUG : #16 pc 0009ca14 /data/app/org.godotengine.rocketspacer-4SfQy6b
vSByAj51T0mFMg==/lib/arm/libgodotandroid.so (JavaorggodotenginegodotGodotLibstep+96)
04-13 23:12:29.063 10175 9134 9134 F DEBUG : #17 pc 00006137 /data/app/org.godotengine.rocketspacer-4SfQy6b_vSByAj51T0mFMg==/oat/arm/base.odex (offset 0x6000)

Hi Rikkantio,

It might be a good idea to remove the downloadlink for this logfile again because they sometimes contain personal information.

Your project: Is the renderer GLES3 or GLES2? (Just asking)

I see this line in the log:
org.godotengine.godot.GodotLib.audio [DEDUPED]+94

This may mean nothing. But I'd try to test your release project without sound (at least in the startup scene).

Basically I'd go step by step. So at first I'd set up a new and simple GLES2 demo project. Maybe start with a 2D GUI button. And sign it with your release key.

Then try to incorporate parts of your initial project scene step by step until it fails (or not).

About Android settings:
Do you include "Arm 64 v8a" ? If so, did you try to build with "Arm..7a" only?

I just read about log output here: (probably not your issue)
https://github.com/godotengine/godot/issues/26924

Perhaps enabling "verbose stdout" also works in the release version. They use "adb logcat" to get logs.

Thanks for the reply, appreciate it :).

I agree on the logfile, I deleted it.
My project is a fairly simple 2d game with gles2.
I do connect with internet to submit and receive highscores.
But I tested this already and with both release and debug
It worked perfectly.

Yeah I think that's a good way to go, I'll try exporting the
Game without sound first, just to test that. And then
Like you suggested, troubleshoot it with a simple demo project.

My build is arm7a only.
I'll keep you posted on any updates in the next days.

Thanks a lot for taking the time to look in to it :)

So I did manage to find the problem here.

I've implemented the admob module and I'm using admob export templates from a YouTube video: https://youtu.be/0JdOXZKOwI0
It seems like it has to do with the release export template.
When exporting with the debug template, it makes a proper size apk and runs perfectly on Android.
However when exporting the release apk, the size has shrunk down to less then half size.

I guess I have to recompile the admob export templates myself since for Godot3.1 they are nowhere to be found.

Ok! Glad that you found it!

Please log in or register to answer this question.

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.