Android game crashing when Google Play services enabled

  • Returned to the Google Play Developer console:

  • Switched to the ‘Game Services’ subsection.

  • Switched to ‘Game Details’. Added a description.

  • Added a game icon.

  • Added a feature graphic.

  • Switched to ‘Achievements’.

  • Added five, 200 point achievements.

  • Published the game settings.

Tried running the game from the device again. Still no sign in.

  • More Google Play Developer Stuff:

  • Switched to ‘All Applications’ → ‘Crash Test’.

  • Switched to the ‘APK’ subsection. Enabled close beta testing.

  • Switched to ‘Store Listing’.

  • Added a short description.

  • Added a full description.

  • Added an icon.

  • Selected Application type, Category and Content rating.

  • Added a feature graphic.

  • Added two screenshots.

  • Checked the ‘Not submitting a privacy policy’ checkbox. Saved the draft.

  • Filled in the content rating questionnaire. Saved.

  • Switched to ‘Pricing and distribution’

  • Selected ‘Select all countries’.

  • Selected ‘No, it has no ads’.

  • Selected the ‘Android Guidelines’ check box and the ‘US Export Laws’ one. Saved the draft.

  • Published the App.

At this point I totally realised that the problem was that the editor wasn’t loading that map I created.

  • Went to the UE4 project settings:

  • Went to the ‘Maps and Modes’ subsection.

  • Changed the Game Default Map to ‘MainLevel’.

  • Went to File → Package Project → Android → Android ETC1.

  • Ran Install_CrashTest_Shipping-armv7-es2.bat

Success! Devices tried to sign in, crashed once sign in completed.

So decided to narrow this down a bit: (CON’T)

(Continued)

ATTEMPT 2

  • Made a new project called “CrashTest2” (Blueprint || Blank || Mobile / Tablet || Scalable 3D or 2D || No Starter Content)

  • Open the level blueprint:

  • After ‘OnBeginPlay’ added the ‘ShowExternalLoginUI’ node (hooked in GetPlayerController(0) to this).

  • Compiled; Saved as ‘MainLevel.umap’ in the root of Content.

  • Went to Google Play Console | Google Play Console

  • Switched to Game Services.

  • Added a new game. Named it “Crash Test 2”; Made it an action game; Hit Continue.

  • Grabbed the services ID.

  • Went to the UE4 project settings:

  • Went to the ‘Maps and Modes’ subsection.

  • Changed the Game Default Map to ‘MainLevel’.

  • Went to the ‘Packaging’ subsection.

  • Changed the Build Configuration to ‘Shipping’.

  • Went to the ‘Android’ subsection.

  • Hit ‘Configure Now’ at the top.

  • Hit ‘Configure Now’ in the middle.

  • Checked ‘Enable Google Play Support’.

  • Added the services ID.

  • Went to File → Package Project → Android → Android ETC1 (Choose CrashTest2->Build as the destination). Let it build.

  • Navigated to CrashTest->Build->Android_ETC1. Ran Install_CrashTest_Shipping-armv7-es2.bat

This ran, but crashed with an error: “Unfortunately, CrashTest2 has stopped.” This obviously isn’t good, but isn’t the crash we’re after.

Wasn’t sure what to try next, so decided to go with running as a distributed build.

  • Generated a new Android signing key (keytool -genkey -v -keystore CrashTest2.keystore -alias CrashTest2 -keyalg RSA -keysize 2048 -validity 10000).

  • Went to the UE4 project settings:

  • Went to the ‘Packaging’ subsection.

  • Changed the Build Configuration to ‘Distribution’.

  • Went to File → Package Project → Android → Android ETC1 (Choose CrashTest2->Build as the destination). Let it build.

  • Navigated to CrashTest->Build->Android_ETC1. Ran Install_CrashTest_Shipping-armv7-es2.bat

Same crash. Decided to try publishing the game services. (CON’T)

(Continued)

  • Returned to the Google Play Developer console:

  • Switched to the ‘All Applications’ subsection.

  • Chose ‘Add new Application’.

  • Named it “Crash Test 2” and choose “Prepare Store Listing”

  • Switched to the ‘APK’ subsection.

  • Uploaded the shipping .APK to BETA.

  • Switched to the ‘Game Services’ subsection. Choose ‘Crash Test 2’.

  • Switched to ‘Linked Apps’, Chose 'Android.

  • Added ‘com.YourCompany.CrashTest2’ to the package name.

  • Hit ‘Save and Continue’.

  • Hit ‘Authorize your app now’.

  • Hit ‘Confirm’ on the ‘Create Android OAuth Client’ dialog.

  • Switched to ‘Game Details’. Added a description.

  • Added a game icon.

  • Added a feature graphic. Saved.

  • Switched to ‘Achievements’.

  • Added five, 200 point achievements.

  • Published the game settings.

Ran the game again. Still crashed.

Realised that the project settings had forgotten the Google Play Services ID. Plugged it back in.

  • Went to File → Package Project → Android → Android ETC1 (Choose CrashTest2->Build as the destination). Let it build.

  • Ran Install_CrashTest_Shipping-armv7-es2.bat

Ran the game: Sign-in occured. Crashed.

So. That’s now FIVE projects that have this crash.

You say you’re still testing this on several devices? How many devices are we talking about? Can we get a list of the ones you’re testing this on.

Also, Why not test it on a Alcatel Pixi 4013x or a Wiko Highway Signs? We’ve confirmed so you that both of these devices suffer from this issue.

The iOS version of this game is now due for release in a matter of days (it’s currently mid-submission). So I really need an answer to some of these questions. Specifically:

  1. As above, how many devices have you tried reproducing this on? Are we talking a significant number here? We saw this issue on 20% of the devices we received feedback on. We need to know how far-reaching this issue could be if we were to release the Android version in it’s current state.

  2. Have you tested it on either of the devices we specified? If not, what exactly is the issue with doing so? If obtaining one of the devices is problematic, we can send you our own Alcatel Pixi to test on, if that expedites the process?

Hello Triblade,

After further testing we where able to find a device and set of steps to reproduce this issue on our end. I have written up a report (UE-27685) and I have submitted it to the developers for further information. I will provide updates with any pertinent information as it becomes available. I do not currently have a workaround for this issue at this time. Once again thank you for you all of the information and time you have given to resolve this issue.

Device Reproduced on:

Lenovo S939 on Android 4.4.2. (This is the one that we were able to reproduce the crash on)

Make it a great day

Thanks, that is EXCELLENT news!

Any further information you can give us as it becomes available will be really useful (especially if this makes it into one of the future 4.11 previews/release builds).

Hi Rudy,

Would there happen to be any new information regarding a fix for this?

Hello Triblade,

I went ahead and double checked on this issue for you. It appears that the status for this issue has not as of yet been updated to fixed.

Ok, thanks for the update.

Morning,

Any new updates on this issue?

Also, side question - I noticed that the bug number (27685) you gave me doesn’t appear in the list of known issues in 4.11 (the preview thread). How comes?

Hello Triblade,

This issue has not been updated yet, however please keep in mind that it could take some time before this issue will see major updates due to the priorities of issues. Priorities tend to shift this time of year due to GDC and so issue resolution may take longer than normal. As for why the issue does not show up on the list, I am not sure. However, it was found in 4.10 so this may have caused it to be missed by the filter. I hope that this information helps.

Make it a great day

Hi,

With 4.11 having been released today, could we get a confirmation that this has now been fixed (or not), please?

Hello Triblade,

I went a head and double checked on this issue for you. The issue is currently being investigated, however there is not a solution as of yet and so it is unlikely that a solution will be integrated into the 4.11 version of the engine. I hope that this information helps.

Make it a great day