Help with Google Play services - Runtime error at start

Hi, 

we’re hoping in your help because we tried everything we could think about with no results.

We’re trying to get Google Play services working inside our game using Corona Enterprise v.2014.2162 and here is the current situation of our app and what we have done:

  • the game is configured correctly inside the Google Play Dev console

  • we have the following line inside our build.settings:

[lua]android =
{
googlePlayGamesAppId = “123456789012”, – here we have our game app id
}[/lua]

  • we have put the following jars inside our libs directory:

google-play-services.jar

CoronaProvider.gameNetwork.google.jar

classes.jar taken from CoronaEnterprise/Plugins/licensing-google/android/bin/classes.jar

With this setup, we get the compiled apk apparently with no issues, but then the app crashes at launch with the following log

[lua]D/BaseGameActivity(18441): onCreate: creating GamesClient
W/dalvikvm(18441): VFY: unable to resolve static field 2085 (common_google_play_services_install_title) in Lcom/google/android/gms/R$string;
D/dalvikvm(18441): VFY: replacing opcode 0x60 at 0x0041
W/dalvikvm(18441): VFY: unable to resolve static field 2081 (common_google_play_services_enable_title) in Lcom/google/android/gms/R$string;
D/dalvikvm(18441): VFY: replacing opcode 0x60 at 0x004c
W/dalvikvm(18441): VFY: unable to resolve static field 2091 (common_google_play_services_update_title) in Lcom/google/android/gms/R$string;
D/dalvikvm(18441): VFY: replacing opcode 0x60 at 0x0057
W/dalvikvm(18441): VFY: unable to resolve static field 2088 (common_google_play_services_unsupported_title) in Lcom/google/android/gms/R$string;
D/dalvikvm(18441): VFY: replacing opcode 0x60 at 0x0069
W/dalvikvm(18441): VFY: unable to resolve static field 2082 (common_google_play_services_install_button) in Lcom/google/android/gms/R$string;
D/dalvikvm(18441): VFY: replacing opcode 0x60 at 0x0009
W/dalvikvm(18441): VFY: unable to resolve static field 2079 (common_google_play_services_enable_button) in Lcom/google/android/gms/R$string;
D/dalvikvm(18441): VFY: replacing opcode 0x60 at 0x0010
W/dalvikvm(18441): VFY: unable to resolve static field 2089 (common_google_play_services_update_button) in Lcom/google/android/gms/R$string;
D/dalvikvm(18441): VFY: replacing opcode 0x60 at 0x0017
W/dalvikvm(18441): VFY: unable to resolve static field 2086 (common_google_play_services_unknown_issue) in Lcom/google/android/gms/R$string;
D/dalvikvm(18441): VFY: replacing opcode 0x60 at 0x0004
W/dalvikvm(18441): VFY: unable to resolve static field 2086 (common_google_play_services_unknown_issue) in Lcom/google/android/gms/R$string;
D/dalvikvm(18441): VFY: replacing opcode 0x60 at 0x000c
I/dalvikvm(18441): DexOpt: unable to optimize static field ref 0x0824 at 0x18 in Lcom/google/android/gms/common/GooglePlayServicesUtil;.b
I/dalvikvm(18441): DexOpt: unable to optimize static field ref 0x0823 at 0x38 in Lcom/google/android/gms/common/GooglePlayServicesUtil;.b
I/dalvikvm(18441): DexOpt: unable to optimize static field ref 0x0820 at 0x3f in Lcom/google/android/gms/common/GooglePlayServicesUtil;.b
I/dalvikvm(18441): DexOpt: unable to optimize static field ref 0x082a at 0x46 in Lcom/google/android/gms/common/GooglePlayServicesUtil;.b
I/dalvikvm(18441): DexOpt: unable to optimize static field ref 0x0827 at 0x66 in Lcom/google/android/gms/common/GooglePlayServicesUtil;.b
E/GooglePlayServicesUtil(18441): The Google Play services resources were not found. Check your project configuration to ensure that the resources are included.
D/BaseGameActivity(18441): isGooglePlayServicesAvailable returned 0
D/BaseGameActivity(18441): beginUserInitiatedSignIn: starting new sign-in flow.
D/BaseGameActivity(18441): Connecting GamesClient.
E/GooglePlayServicesUtil(18441): The Google Play services resources were not found. Check your project configuration to ensure that the resources are included.
E/ValidateServiceOp( 9357): Using Google Play games services requires a metadata tag with the name “com.google.android.gms.games.APP_ID” in the application tag of your manifest
D/AndroidRuntime(18441): Shutting down VM
W/dalvikvm(18441): threadid=1: thread exiting with uncaught exception (group=0x41bbd700)
D/FlurryAgent(18441): Ending session
E/AndroidRuntime(18441): FATAL EXCEPTION: main
E/AndroidRuntime(18441): java.lang.IllegalStateException: A fatal developer error has occurred. Check the logs for further information.
E/AndroidRuntime(18441): at com.google.android.gms.internal.u$f.a(Unknown Source)
E/AndroidRuntime(18441): at com.google.android.gms.internal.u$f.a(Unknown Source)
E/AndroidRuntime(18441): at com.google.android.gms.internal.u$b.A(Unknown Source)
E/AndroidRuntime(18441): at com.google.android.gms.internal.u$a.handleMessage(Unknown Source)
E/AndroidRuntime(18441): at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime(18441): at android.os.Looper.loop(Looper.java:176)
E/AndroidRuntime(18441): at android.app.ActivityThread.main(ActivityThread.java:5419)
E/AndroidRuntime(18441): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime(18441): at java.lang.reflect.Method.invoke(Method.java:525)
E/AndroidRuntime(18441): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1046)
E/AndroidRuntime(18441): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:862)
E/AndroidRuntime(18441): at dalvik.system.NativeStart.main(Native Method)
I/ActivityManager( 2346): Notify an ApplicationCrash[/lua]

Please share suggestions and help, we’re stuck on this.

SparklingLabs - I’m not sure about this (will ask an engineer tomorrow, Monday, morning). But I believe the Google Play game services funcitonality is a plugin. Are you integrating it into your project as a plugin? If not, could that be it?

Hi David,

first of all thanks for your kind reply.

I’m not sure what is the difference between what we have already done to integrate the Google Play game services functionality into our Android project and integrating it as a plugin.

Can you please be more specific about this?

When you refer to the previous Android project, was that a normal Corona sDK project, not using Enterprise?

No we’re not using the normal Corona SDK, just the Enterprise version.

Ok, I think you have already done what I was suggesting. Let me have one of our engineers take a look later this morning. Hang on a bit.

Thank you very much David!

In Enterprise, build.settings aren’t taken into account on Android.  You have to modify the manifest yourself and put in the Google Play games app id there yourself.

Please look at Step 3 of this link to see what you have to modify: https://developers.google.com/games/services/android/quickstart

Thanks, I really appreciated your help!

We followed the instructions and it worked like a charm.

A huge, huge thank you!

SparklingLabs - I’m not sure about this (will ask an engineer tomorrow, Monday, morning). But I believe the Google Play game services funcitonality is a plugin. Are you integrating it into your project as a plugin? If not, could that be it?

Hi David,

first of all thanks for your kind reply.

I’m not sure what is the difference between what we have already done to integrate the Google Play game services functionality into our Android project and integrating it as a plugin.

Can you please be more specific about this?

When you refer to the previous Android project, was that a normal Corona sDK project, not using Enterprise?

No we’re not using the normal Corona SDK, just the Enterprise version.

Ok, I think you have already done what I was suggesting. Let me have one of our engineers take a look later this morning. Hang on a bit.

Thank you very much David!

In Enterprise, build.settings aren’t taken into account on Android.  You have to modify the manifest yourself and put in the Google Play games app id there yourself.

Please look at Step 3 of this link to see what you have to modify: https://developers.google.com/games/services/android/quickstart

Thanks, I really appreciated your help!

We followed the instructions and it worked like a charm.

A huge, huge thank you!