1

I've got a cocos2d-x project that uses Ant and for legacy reasons cannot be converted to Android Studio. How can I integrate Firebase Analytics to it?

Official docs offer only the way to use Android Studio, gradle, and the Play Services plugin for gradle.

This blogpost and this repo describe a way to include Firebase Analytics for Eclipse-based projects, which is close enough for me: I can include jar files and edit xml-s manually.

However, I've run into a couple of problems with this approach:

  • First, where do you put the values.xml file that's converted from google-services.json? Where is it used? I've copied those values into my res/values/strings.xml file, but I'm not sure if it's the correct way.

  • More important, after I've the build compiling and running on the device, it crashes with the following error in the logcat:


E/AndroidRuntime(18301): FATAL EXCEPTION: main
E/AndroidRuntime(18301): java.lang.NoClassDefFoundError: com.google.android.gms.R$string
E/AndroidRuntime(18301):    at com.google.android.gms.common.internal.zzam.<init>(Unknown Source)
E/AndroidRuntime(18301):    at com.google.firebase.FirebaseOptions.fromResource(Unknown Source)
E/AndroidRuntime(18301):    at com.google.firebase.FirebaseApp.initializeApp(Unknown Source)
E/AndroidRuntime(18301):    at com.google.firebase.provider.FirebaseInitProvider.onCreate(Unknown Source)
E/AndroidRuntime(18301):    at android.content.ContentProvider.attachInfo(ContentProvider.java:944)
E/AndroidRuntime(18301):    at com.google.firebase.provider.FirebaseInitProvider.attachInfo(Unknown Source)
E/AndroidRuntime(18301):    at android.app.ActivityThread.installProvider(ActivityThread.java:4237)
E/AndroidRuntime(18301):    at android.app.ActivityThread.installContentProviders(ActivityThread.java:3992)
E/AndroidRuntime(18301):    at android.app.ActivityThread.handleBindApplication(ActivityThread.java:3946)
E/AndroidRuntime(18301):    at android.app.ActivityThread.access$1300(ActivityThread.java:123)
E/AndroidRuntime(18301):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1185)
E/AndroidRuntime(18301):    at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime(18301):    at android.os.Looper.loop(Looper.java:137)
E/AndroidRuntime(18301):    at android.app.ActivityThread.main(ActivityThread.java:4424)
E/AndroidRuntime(18301):    at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime(18301):    at java.lang.reflect.Method.invoke(Method.java:511)
E/AndroidRuntime(18301):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
E/AndroidRuntime(18301):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
E/AndroidRuntime(18301):    at dalvik.system.NativeStart.main(Native Method)

Any ideas how to fix it?

Jyotman Singh
  • 10,792
  • 8
  • 39
  • 55
Arry
  • 895
  • 1
  • 7
  • 20
  • I also asked for this: http://stackoverflow.com/questions/37319236/use-new-firebase-sdk-in-android-eclipse-project but finally I migrated all my cocos2d-x to android studio. – Makalele Feb 09 '17 at 10:34

0 Answers0