Genymotion with Cocos2d-x v3.11

Genymotion with Cocos2d-x v3.11

本文关键字:v3 Cocos2d-x with Genymotion      更新时间:2023-10-16

我在mac上使用cocos2d-x v3.11,并使用Genymotion虚拟设备。

在我的/jni/Application.mk中,我放了,

APP_ABI :=armeabi armeabi-v7a
APP_ABI :=x86

但总是同样的错误出现NO_MATCHING_ABIS和应用程序不能在genymotion上启动。

虽然错误日志可能不需要,但这里是:

D/dalvikvm( 1893): Late-enabling CheckJNI I/ActivityManager( 587): Start proc org.company.numbergame for activity org.company.numbergame/org.cocos2dx.cpp.AppActivity: pid=1893 uid=10060 gids={50060, 3003} D/dalvikvm( 1893): Trying to load lib /data/app-lib/org.company.numbergame-1/libMyGame.so 0xa4fe4688 E/dalvikvm( 1893): dlopen("/data/app-lib/org.company.numbergame-1/libMyGame.so") failed: dlopen failed: library "/system/lib/libhoudini.so" not found D/AndroidRuntime( 1893): Shutting down VM W/dalvikvm( 1893): threadid=1: thread exiting with uncaught exception (group=0xa4d17b20) E/AndroidRuntime( 1893): FATAL EXCEPTION: main E/AndroidRuntime( 1893): Process: org.company.numbergame, PID: 1893 E/AndroidRuntime( 1893): java.lang.UnsatisfiedLinkError: dlopen failed: library "/system/lib/libhoudini.so" not found E/AndroidRuntime( 1893): at java.lang.Runtime.loadLibrary(Runtime.java:364) E/AndroidRuntime( 1893): at java.lang.System.loadLibrary(System.java:526) E/AndroidRuntime( 1893): at org.cocos2dx.lib.Cocos2dxActivity.onLoadNativeLibraries(Cocos2dxActivity.java:246) E/AndroidRuntime( 1893): at org.cocos2dx.lib.Cocos2dxActivity.onCreate(Cocos2dxActivity.java:260) E/AndroidRuntime( 1893): at android.app.Activity.performCreate(Activity.java:5231) E/AndroidRuntime( 1893): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087) E/AndroidRuntime( 1893): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2148) E/AndroidRuntime( 1893): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2233) E/AndroidRuntime( 1893): at android.app.ActivityThread.access$800(ActivityThread.java:135) E/AndroidRuntime( 1893): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196) E/AndroidRuntime( 1893): at android.os.Handler.dispatchMessage(Handler.java:102) E/AndroidRuntime( 1893): at android.os.Looper.loop(Looper.java:136) E/AndroidRuntime( 1893): at android.app.ActivityThread.main(ActivityThread.java:5001) E/AndroidRuntime( 1893): at java.lang.reflect.Method.invokeNative(Native Method) E/AndroidRuntime( 1893): at java.lang.reflect.Method.invoke(Method.java:515) E/AndroidRuntime( 1893): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785) E/AndroidRuntime( 1893): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601) E/AndroidRuntime( 1893): at dalvik.system.NativeStart.main(Native Method) W/ActivityManager( 587): Force finishing activity org.company.numbergame/org.cocos2dx.cpp.AppActivity D/dalvikvm( 587): GC_FOR_ALLOC freed 856K, 19% free 8972K/10964K, paused 11ms, total 11ms D/MobileDataStateTracker( 587): default: setPolicyDataEnable(enabled=true) W/ActivityManager( 587): Activity pause timeout for ActivityRecord{529f9534 u0 org.company.numbergame/org.cocos2dx.cpp.AppActivity t8 f} W/EGL_genymotion( 763): eglSurfaceAttrib not implemented D/MobileDataStateTracker( 587): default: setPolicyDataEnable(enabled=t

eclipse模拟器非常慢,我还需要使用Genymotion进行多设备分辨率测试。

编辑:

重启eclipse后,我注意到一个奇怪的问题。(我没有改变我的Application.mk)。当我使用cocos compile -p android构建项目时然后它开始为x86构建,当安装在genymotion设备上时可以工作,但不适用于我的实际设备。当我移除了x86之后,它就为armeabi构建了。但是它不能同时在两种设备上工作(armeabi和x86)。

有谁知道,我该如何解决?

Genymotion在x86架构下工作。如果您想在genymotion上运行ARM构建,那么请下载ARM翻译并将其放在您的genymotion模拟器上,然后它将开始接受ARM构建。