Lowest android version support for cocos2d-x 3.+

I’ve read on wiki, version cocos2d-x 3.+ support android 2.3+, but with my game, When deploy with 4.0.3, 4.1.2, 4.4, everything ok. But when deploy with 2.3.3 i got error:

08-20 18:17:03.363: D/Cocos2dxActivity(410): model=sdk
08-20 18:17:03.363: D/Cocos2dxActivity(410): product=sdk
08-20 18:17:03.363: D/Cocos2dxActivity(410): isEmulator=true
08-20 18:17:03.383: D/dalvikvm(410): Trying to load lib /data/data/com.test.test/lib/libcocos2dcpp.so 0x40515620
08-20 18:17:03.473: D/dalvikvm(410): Added shared lib /data/data/com.test.test/lib/libcocos2dcpp.so 0x40515620
08-20 18:17:03.473: D/JniHelper(410): JniHelper::setJavaVM(0xab90), pthread_self() = -1345006528
08-20 18:17:03.493: D/dalvikvm(410): GREF has increased to 201
08-20 18:17:03.523: I/main(410): Initializing Services
08-20 18:17:03.523: I/main(410): Uninitialized services, so creating
08-20 18:17:03.573: V/GamesNativeSDK(410): Using classes from /data/data/com.test.test/app_.gpg.classloader/b6757673c393a41909bbab0d950640e3.jar.
08-20 18:17:03.573: D/dalvikvm(410): DexOpt: — BEGIN ‘b6757673c393a41909bbab0d950640e3.jar’ (bootstrap=0) —
08-20 18:17:03.643: D/dalvikvm(410): DexOpt: — END ‘b6757673c393a41909bbab0d950640e3.jar’ (success) —
08-20 18:17:03.643: D/dalvikvm(410): DEX prep ‘/data/data/com.test.test/app_.gpg.classloader/b6757673c393a41909bbab0d950640e3.jar’: unzip in 0ms, rewrite 77ms
08-20 18:17:03.653: V/GamesNativeSDK(410): Skipping registration of optional class: com/google/android/gms/games/NativeSdkLifecycleCallbacks.
08-20 18:17:03.696: I/dalvikvm(410): Could not find method android.support.v4.app.FragmentActivity.getSupportFragmentManager, referenced from method com.google.android.gms.common.api.GoogleApiClient$Builder.eJ
08-20 18:17:03.696: W/dalvikvm(410): VFY: unable to resolve virtual method 688: Landroid/support/v4/app/FragmentActivity;.getSupportFragmentManager ()Landroid/support/v4/app/FragmentManager;
08-20 18:17:03.696: D/dalvikvm(410): VFY: replacing opcode 0x6e at 0x0002
08-20 18:17:03.696: D/dalvikvm(410): VFY: dead code 0x0005-0047 in Lcom/google/android/gms/common/api/GoogleApiClient$Builder;.eJ ()Lcom/google/android/gms/common/api/d;
08-20 18:17:03.703: W/dalvikvm(410): Unable to resolve superclass of Lcom/google/android/gms/common/api/d; (155)
08-20 18:17:03.703: W/dalvikvm(410): Link of class ‘Lcom/google/android/gms/common/api/d;’ failed
08-20 18:17:03.703: W/dalvikvm(410): VFY: unable to find class referenced in signature (Lcom/google/android/gms/common/api/d;)
08-20 18:17:03.703: W/dalvikvm(410): VFY: unable to find class referenced in signature (Landroid/support/v4/app/Fragment;)
08-20 18:17:03.703: W/dalvikvm(410): Unable to resolve superclass of Lcom/google/android/gms/common/api/d; (155)
08-20 18:17:03.703: W/dalvikvm(410): Link of class ‘Lcom/google/android/gms/common/api/d;’ failed
08-20 18:17:03.713: I/dalvikvm(410): Could not find method com.google.android.gms.common.api.d.a, referenced from method com.google.android.gms.common.api.GoogleApiClient$Builder.build
08-20 18:17:03.713: W/dalvikvm(410): VFY: unable to resolve virtual method 2955: Lcom/google/android/gms/common/api/d;.a (Lcom/google/android/gms/common/api/GoogleApiClient;Lcom/google/android/gms/common/api/GoogleApiClient$OnConnectionFailedListener;)V
08-20 18:17:03.713: D/dalvikvm(410): VFY: replacing opcode 0x6e at 0x002e
08-20 18:17:03.713: W/dalvikvm(410): Unable to resolve superclass of Lcom/google/android/gms/common/api/d; (155)
08-20 18:17:03.713: W/dalvikvm(410): Link of class ‘Lcom/google/android/gms/common/api/d;’ failed
08-20 18:17:03.713: W/dalvikvm(410): VFY: unable to find class referenced in signature (Lcom/google/android/gms/common/api/d;)
08-20 18:17:03.713: W/dalvikvm(410): VFY: unable to find class referenced in signature (Landroid/support/v4/app/FragmentActivity;)
08-20 18:17:03.723: E/dalvikvm(410): Could not find class ‘android.support.v4.app.FragmentActivity’, referenced from method com.google.android.gms.common.api.GoogleApiClient$Builder.enableAutoManage
08-20 18:17:03.723: W/dalvikvm(410): VFY: unable to resolve check-cast 156 (Landroid/support/v4/app/FragmentActivity;) in Lcom/google/android/gms/common/api/GoogleApiClient$Builder;
08-20 18:17:03.723: D/dalvikvm(410): VFY: replacing opcode 0x1f at 0x0006
08-20 18:17:03.723: D/dalvikvm(410): VFY: dead code 0x0008-000c in Lcom/google/android/gms/common/api/GoogleApiClient$Builder;.enableAutoManage (Landroid/support/v4/app/FragmentActivity;Lcom/google/android/gms/common/api/GoogleApiClient$OnConnectionFailedListener;)Lcom/google/android/gms/common/api/GoogleApiClient$Builder;
08-20 18:17:03.733: W/dalvikvm(410): VFY: unable to find class referenced in signature (Landroid/support/v4/app/Fragment;)
08-20 18:17:03.753: I/dalvikvm(410): Could not find method android.support.v4.app.Fragment.getActivity, referenced from method com.google.android.gms.common.api.c.stopAutoManage
08-20 18:17:03.753: W/dalvikvm(410): VFY: unable to resolve virtual method 648: Landroid/support/v4/app/Fragment;.getActivity ()Landroid/support/v4/app/FragmentActivity;
08-20 18:17:03.753: D/dalvikvm(410): VFY: replacing opcode 0x6e at 0x000c
08-20 18:17:03.764: D/dalvikvm(410): VFY: dead code 0x000f-002c in Lcom/google/android/gms/common/api/c;.stopAutoManage ()V
08-20 18:17:03.773: I/dalvikvm(410): Failed resolving Lcom/google/android/gms/games/internal/PopupManager$PopupManagerHCMR1; interface 183 ‘Landroid/view/View$OnAttachStateChangeListener;’
08-20 18:17:03.773: W/dalvikvm(410): Link of class ‘Lcom/google/android/gms/games/internal/PopupManager$PopupManagerHCMR1;’ failed
08-20 18:17:03.773: E/dalvikvm(410): Could not find class ‘com.google.android.gms.games.internal.PopupManager$PopupManagerHCMR1’, referenced from method com.google.android.gms.games.internal.PopupManager.a
08-20 18:17:03.773: W/dalvikvm(410): VFY: unable to resolve new-instance 1161 (Lcom/google/android/gms/games/internal/PopupManager$PopupManagerHCMR1;) in Lcom/google/android/gms/games/internal/PopupManager;
08-20 18:17:03.773: D/dalvikvm(410): VFY: replacing opcode 0x22 at 0x0006
08-20 18:17:03.773: D/dalvikvm(410): VFY: dead code 0x0008-000a in Lcom/google/android/gms/games/internal/PopupManager;.a (Lcom/google/android/gms/games/internal/GamesClientImpl;I)Lcom/google/android/gms/games/internal/PopupManager;
08-20 18:17:03.783: I/main(410): Services Created
08-20 18:17:03.783: V/GamesNativeSDK(410): Received Activity Create Event.
08-20 18:17:03.783: V/GamesNativeSDK(410): Received Activity Start Event.
08-20 18:17:03.823: I/main(410): OnAuthActionStarted
08-20 18:17:03.823: I/main(410): Signing In…
08-20 18:17:03.823: I/GamesNativeSDK(410): Connecting to Google Play…
08-20 18:17:03.823: V/GamesNativeSDK(410): Attached to JVM on thread main_dispatch
08-20 18:17:03.823: W/dalvikvm(410): VFY: unable to find class referenced in signature (Landroid/support/v4/app/Fragment;)
08-20 18:17:03.833: I/dalvikvm(410): Could not find method android.app.AlertDialog$Builder., referenced from method com.google.android.gms.common.GooglePlayServicesUtil.a
08-20 18:17:03.833: W/dalvikvm(410): VFY: unable to resolve direct method 47: Landroid/app/AlertDialog$Builder;. (Landroid/content/Context;I)V
08-20 18:17:03.833: D/dalvikvm(410): VFY: replacing opcode 0x70 at 0x002c
08-20 18:17:03.833: W/dalvikvm(410): VFY: unable to find class referenced in signature (Landroid/support/v4/app/Fragment;)
08-20 18:17:03.843: W/dalvikvm(410): VFY: unable to find class referenced in signature (Landroid/support/v4/app/Fragment;)
08-20 18:17:03.843: W/dalvikvm(410): VFY: unable to find class referenced in signature (Landroid/support/v4/app/Fragment;)
08-20 18:17:03.843: E/dalvikvm(410): Could not find class ‘android.support.v4.app.FragmentActivity’, referenced from method com.google.android.gms.common.GooglePlayServicesUtil.b
08-20 18:17:03.843: W/dalvikvm(410): VFY: unable to resolve instanceof 156 (Landroid/support/v4/app/FragmentActivity;) in Lcom/google/android/gms/common/GooglePlayServicesUtil;
08-20 18:17:03.843: D/dalvikvm(410): VFY: replacing opcode 0x20 at 0x0008
08-20 18:17:03.843: E/dalvikvm(410): Could not find class ‘android.support.v4.app.FragmentActivity’, referenced from method com.google.android.gms.common.GooglePlayServicesUtil.b
08-20 18:17:03.853: W/dalvikvm(410): VFY: unable to resolve check-cast 156 (Landroid/support/v4/app/FragmentActivity;) in Lcom/google/android/gms/common/GooglePlayServicesUtil;
08-20 18:17:03.853: D/dalvikvm(410): VFY: replacing opcode 0x1f at 0x000c
08-20 18:17:03.853: I/dalvikvm(410): Could not find method android.app.Activity.getFragmentManager, referenced from method com.google.android.gms.common.GooglePlayServicesUtil.b
08-20 18:17:03.853: W/dalvikvm(410): VFY: unable to resolve virtual method 16: Landroid/app/Activity;.getFragmentManager ()Landroid/app/FragmentManager;
08-20 18:17:03.853: D/dalvikvm(410): VFY: replacing opcode 0x6e at 0x0023
08-20 18:17:03.853: D/dalvikvm(410): VFY: dead code 0x000e-001c in Lcom/google/android/gms/common/GooglePlayServicesUtil;.b (ILandroid/app/Activity;Landroid/support/v4/app/Fragment;ILandroid/content/DialogInterface$OnCancelListener;)Z
08-20 18:17:03.853: D/dalvikvm(410): VFY: dead code 0x0026-0030 in Lcom/google/android/gms/common/GooglePlayServicesUtil;.b (ILandroid/app/Activity;Landroid/support/v4/app/Fragment;ILandroid/content/DialogInterface$OnCancelListener;)Z
08-20 18:17:03.863: D/dalvikvm(410): DexOpt: couldn’t find field Landroid/content/res/Configuration;.smallestScreenWidthDp
08-20 18:17:03.863: W/dalvikvm(410): VFY: unable to resolve instance field 27
08-20 18:17:03.863: D/dalvikvm(410): VFY: replacing opcode 0x52 at 0x0012
08-20 18:17:03.863: D/dalvikvm(410): VFY: dead code 0x0014-0018 in Lcom/google/android/gms/common/GooglePlayServicesUtil;.b (Landroid/content/res/Resources;)Z
08-20 18:17:03.863: W/dalvikvm(410): VFY: unable to find class referenced in signature (Landroid/support/v4/app/Fragment;)
08-20 18:17:03.893: V/GamesNativeSDK(410): Received Activity Resume Event.
08-20 18:17:03.893: W/dalvikvm(410): VFY: unable to find class referenced in signature (Landroid/support/v4/app/Fragment;)
08-20 18:17:03.953: W/GooglePlayServicesUtil(410): Google Play services is missing.
08-20 18:17:04.113: D/libEGL(410): egl.cfg not found, using default config
08-20 18:17:04.113: D/libEGL(410): loaded /system/lib/egl/libGLES_android.so
08-20 18:17:04.124: V/GamesNativeSDK(410): Play Games callback indicates connection failure.
08-20 18:17:04.133: W/dalvikvm(410): VFY: unable to find class referenced in signature (Landroid/support/v4/app/Fragment;)
08-20 18:17:04.143: I/dalvikvm(410): Could not find method android.support.v4.app.Fragment.startActivityForResult, referenced from method com.google.android.gms.internal.gz.onClick
08-20 18:17:04.143: W/dalvikvm(410): VFY: unable to resolve virtual method 686: Landroid/support/v4/app/Fragment;.startActivityForResult (Landroid/content/Intent;I)V
08-20 18:17:04.143: D/dalvikvm(410): VFY: replacing opcode 0x6e at 0x000e
08-20 18:17:04.153: W/dalvikvm(410): threadid=9: thread exiting with uncaught exception (group=0x40015560)
08-20 18:17:04.198: E/AndroidRuntime(410): FATAL EXCEPTION: GLThread 10
08-20 18:17:04.198: E/AndroidRuntime(410): java.lang.IllegalArgumentException: No configs match configSpec
08-20 18:17:04.198: E/AndroidRuntime(410):     at android.opengl.GLSurfaceView$BaseConfigChooser.chooseConfig(GLSurfaceView.java:763)
08-20 18:17:04.198: E/AndroidRuntime(410):     at android.opengl.GLSurfaceView$EglHelper.start(GLSurfaceView.java:919)
08-20 18:17:04.198: E/AndroidRuntime(410):     at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1264)
08-20 18:17:04.198: E/AndroidRuntime(410):     at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1118)
08-20 18:17:04.644: I/GamesNativeSDK(410): Error connecting to Google Play: code 1.
08-20 18:17:04.644: I/main(410): Sign in finished with a result of -3
08-20 18:17:04.644: I/main(410): OnAuthActionFinished
08-20 18:17:04.644: I/main(410): Signing In.
08-20 18:17:06.273: V/GamesNativeSDK(410): Received Activity Stop Event.
08-20 18:17:06.273: V/GamesNativeSDK(410): Received Activity Destroy Event.
08-20 18:17:06.383: E/WindowManager(410): Activity org.cocos2dx.cpp.AppActivity has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@4057b718 that was originally added here
08-20 18:17:06.383: E/WindowManager(410): android.view.WindowLeaked: Activity org.cocos2dx.cpp.AppActivity has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@4057b718 that was originally added here
08-20 18:17:06.383: E/WindowManager(410):     at android.view.ViewRoot.(ViewRoot.java:258)
08-20 18:17:06.383: E/WindowManager(410):     at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:148)
08-20 18:17:06.383: E/WindowManager(410):     at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91)
08-20 18:17:06.383: E/WindowManager(410):     at android.view.Window$LocalWindowManager.addView(Window.java:424)
08-20 18:17:06.383: E/WindowManager(410):     at android.app.Dialog.show(Dialog.java:241)
08-20 18:17:06.383: E/WindowManager(410):     at com.google.android.gms.games.NativeSdkCallbacks.onConnectionFailed(Native Method)
08-20 18:17:06.383: E/WindowManager(410):     at com.google.android.gms.internal.hc.a(Unknown Source)
08-20 18:17:06.383: E/WindowManager(410):     at com.google.android.gms.common.api.c.eK(Unknown Source)
08-20 18:17:06.383: E/WindowManager(410):     at com.google.android.gms.common.api.c.d(Unknown Source)
08-20 18:17:06.383: E/WindowManager(410):     at com.google.android.gms.common.api.c$4.onConnectionFailed(Unknown Source)
08-20 18:17:06.383: E/WindowManager(410):     at com.google.android.gms.internal.hc.a(Unknown Source)
08-20 18:17:06.383: E/WindowManager(410):     at com.google.android.gms.internal.hb$a.handleMessage(Unknown Source)
08-20 18:17:06.383: E/WindowManager(410):     at android.os.Handler.dispatchMessage(Handler.java:99)
08-20 18:17:06.383: E/WindowManager(410):     at android.os.Looper.loop(Looper.java:123)
08-20 18:17:06.383: E/WindowManager(410):     at android.app.ActivityThread.main(ActivityThread.java:3683)
08-20 18:17:06.383: E/WindowManager(410):     at java.lang.reflect.Method.invokeNative(Native Method)
08-20 18:17:06.383: E/WindowManager(410):     at java.lang.reflect.Method.invoke(Method.java:507)
08-20 18:17:06.383: E/WindowManager(410):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
08-20 18:17:06.383: E/WindowManager(410):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
08-20 18:17:06.383: E/WindowManager(410):     at dalvik.system.NativeStart.main(Native Method)
08-20 18:17:06.713: I/Process(410): Sending signal. PID: 410 SIG: 9

Please, take a look and give me an advice, i’m now to these mobile things

Do anyone have any idea?

Just reading the error messages it looks like you’re depending on a version of Google Play Services that is not installed on the 2.3.3 device, and calling methods in Play Services on load.

Thanks for your answering. Google Play Services is the problem, but not all (not the crash error i think). Because when i try create default project (hello world scene), i got the problem with 2.3.3, too:

08-22 10:43:14.373: D/JniHelper(410): JniHelper::setJavaVM(0xab90), pthread_self() = -1345006528
08-22 10:43:14.563: D/libEGL(410): egl.cfg not found, using default config
08-22 10:43:14.563: D/libEGL(410): loaded /system/lib/egl/libGLES_android.so
08-22 10:43:14.573: W/dalvikvm(410): threadid=9: thread exiting with uncaught exception (group=0x40015560)
08-22 10:43:14.613: E/AndroidRuntime(410): FATAL EXCEPTION: GLThread 10
08-22 10:43:14.613: E/AndroidRuntime(410): java.lang.IllegalArgumentException: No configs match configSpec
08-22 10:43:14.613: E/AndroidRuntime(410):     at android.opengl.GLSurfaceView$BaseConfigChooser.chooseConfig(GLSurfaceView.java:763)
08-22 10:43:14.613: E/AndroidRuntime(410):     at android.opengl.GLSurfaceView$EglHelper.start(GLSurfaceView.java:919)
08-22 10:43:14.613: E/AndroidRuntime(410):     at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1264)
08-22 10:43:14.613: E/AndroidRuntime(410):     at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1118)

IMHO, the actual crash happend from the in my log, it appear in my old log too. Sorry for bothering you but i myself cannot figure it out what the error.

FYI, i’m using coco2d-x 3.0 final.

Did you figure out the problem ? I have the same problem.

Sorry, this problem is year ago, so i don’t remember much. But i got over with it by let the min sdk is 4.0.3, and i think the problem is i tried to integrate native google play services.

If you’re new to cocos2d-x, and you got fatal error when run default project, maybe you’re running it on simulator which will be crashed because emulator doesn’t support Open GS 2.0, you must run on real device (to tell you a truth, using emulator really gives me more troubles than it helps, i recommend using real device, use emulator just to test how your game look on other kind of screen resolutions).

If you want to integrate google play services, and only need its leaderboard, achievement feature. I recommend sonar cocos helper, just search the forum.

Otherwise, i can’t help you any further, sorry :persevere: