I migrate my project from cocos2d-x 3.10 to cocos2d-x 3.15
On Android 6+ it works find. But when I launch it (same apk) on Android 4.3 I have app crash:
05-24 12:20:44.922 3051-3051/com.myapp I/dalvikvm: Failed resolving Lorg/cocos2dx/lib/Cocos2dxActivity; interface 9414 'Lorg/cocos2dx/lib/Cocos2dxHelper$Cocos2dxHelperListener;'
05-24 12:20:44.922 3051-3051/com.myapp W/dalvikvm: Link of class 'Lorg/cocos2dx/lib/Cocos2dxActivity;' failed
05-24 12:20:44.922 3051-3051/com.myapp W/dalvikvm: Unable to resolve superclass of Lorg/cocos2dx/cpp/AppActivity; (9361)
05-24 12:20:44.922 3051-3051/com.myapp W/dalvikvm: Link of class 'Lorg/cocos2dx/cpp/AppActivity;' failed
05-24 12:20:44.922 3051-3051/com.myapp D/AndroidRuntime: Shutting down VM
05-24 12:20:44.922 3051-3051/com.myapp W/dalvikvm: threadid=1: thread exiting with uncaught exception (group=0xafab8678)
05-24 12:20:44.932 3051-3051/com.myapp E/AndroidRuntime: FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.myapp/org.cocos2dx.cpp.AppActivity}: java.lang.ClassNotFoundException: Didn't find class "org.cocos2dx.cpp.AppActivity" on path: DexPathList[[zip file "/data/app/com.myapp-2.apk"],nativeLibraryDirectories=[/data/app-lib/com.myapp-2, /vendor/lib, /system/lib]]
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2137)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261)
at android.app.ActivityThread.access$600(ActivityThread.java:141)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5103)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:525)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.ClassNotFoundException: Didn't find class "org.cocos2dx.cpp.AppActivity" on path: DexPathList[[zip file "/data/app/com.myapp-2.apk"],nativeLibraryDirectories=[/data/app-lib/com.myapp-2, /vendor/lib, /system/lib]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:53)
at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
at android.app.Instrumentation.newActivity(Instrumentation.java:1061)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2128)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261)
at android.app.ActivityThread.access$600(ActivityThread.java:141)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5103)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:525)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
at dalvik.system.NativeStart.main(Native Method)
Why it don’t see org/cocos2dx/cpp/AppActivity
only on Android 4.x ?
build.gradle
import org.apache.tools.ant.taskdefs.condition.Os
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "25.0.0"
defaultConfig {
applicationId "com.mygame"
minSdkVersion 16
targetSdkVersion PROP_TARGET_SDK_VERSION
multiDexEnabled true
}
}
... all other same like in default build.gradle file...