Cocos2d-x 3.14 Android崩溃

时间:2017-01-28 23:07:19

标签: android c++ android-studio cocos2d-x cocos2d-x-3.x

我也尝试在Android上运行游戏,应用程序在启动时崩溃。在iOS上,一切都运行完美。我必须提到我使用预建的库。我试图运行一个Hello World应用程序,一切运行完美,但是当我尝试使用我的游戏时它崩溃了,我不明白为什么。我已经花了2天时间。

  

I / InstantRun:即时运行运行时已启动。 Android包是   com.Organization.MyGame,真正的应用程序类为null。疣:   验证void org.cocos2dx.lib.Cocos2dxActivity。()   181.649ms W / art:验证java.lang.Object org.cocos2dx.lib.Cocos2dxActivity.access $ super(org.cocos2dx.lib.Cocos2dxActivity,   java.lang.String,java.lang.Object [])花了263.417ms W / art:   验证java.lang.Object   org.cocos2dx.cpp.AppActivity.access $超(org.cocos2dx.cpp.AppActivity,   java.lang.String,java.lang.Object [])花了209.483ms D / JniHelper:   JniHelper :: setJavaVM(0xb4dbc000),pthread_self()= - 1225696460 D / main:   cocos_android_app_init D / Cocos2dxHelper:isSupportLowLatency:false   D / Cocos2dxHelper:sampleRate:44100,framesPerBuffer:1024   D / Java_org_cocos2dx_lib_Cocos2dxHelper.cpp:nativeSetAudioDeviceInfo:   sampleRate:44100,bufferSizeInFrames:1024 W / art:Verification of   java.lang.Object继承   org.cocos2dx.lib.ResizeLayout.access $超(org.cocos2dx.lib.ResizeLayout,   java.lang.String,java.lang.Object [])花了574.918ms W / art:   验证java.lang.Object   org.cocos2dx.lib.Cocos2dxEditBox.access $超(org.cocos2dx.lib.Cocos2dxEditBox,   java.lang.String,java.lang.Object [])花了364.627ms W / art:   验证java.lang.Object   org.cocos2dx.lib.Cocos2dxGLSurfaceView.access $超(org.cocos2dx.lib.Cocos2dxGLSurfaceView,   java.lang.String,java.lang.Object [])花了225.880ms W / art:   验证布尔值   org.cocos2dx.lib.Cocos2dxGLSurfaceView.onTouchEvent(android.view.MotionEvent)   花了235.323ms D / Cocos2dxActivity:model = sdk_google_phone_armv7   D / Cocos2dxActivity:product = sdk_google_phone_armv7 D / Cocos2dxActivity:   isEmulator = true W / art:验证void   org.cocos2dx.lib.Cocos2dxVideoHelper(org.cocos2dx.lib.Cocos2dxActivity,   android.widget.FrameLayout)花了144.700ms D / Cocos2dxActivity:   onResume()D / OpenGLRenderer:使用EGL_SWAP_BEHAVIOR_PRESERVED:true

              [ 01-28 16:43:39.386  2413: 2413 D/         ]
              HostConnection::get() New Host Connection established 0xabcc3490, tid 2413


              [ 01-28 16:43:39.419  2413: 2413 W/         ]
              Process pipe failed

              [ 01-28 16:43:40.071  2413: 2434 D/         ]
              HostConnection::get() New Host Connection established 0xabcc3308, tid 2434 I/OpenGLRenderer: Initialized EGL,
     

版本1.4 E / EGL_emulation:tid 2434:eglSurfaceAttrib(1165):错误   0x3009(EGL_BAD_MATCH)W / OpenGLRenderer:设置失败   表面上的EGL_SWAP_BEHAVIOR为0xab55dc60,错误= EGL_BAD_MATCH   I / Choreographer:跳过236帧!该应用程序可能也在做   在其主要线程上做了很多工作。 d / Cocos2dxActivity:   onWindowFocusChanged()hasFocus = true I / Choreographer:Skipped 41   帧!应用程序可能在其主要方面做了太多工作   线程。

             [ 01-28 16:43:45.183   958:  988 D/         ]
             HostConnection::get() New Host Connection established 0xabcc7e10, tid 988 A/libc: Fatal signal 11 (SIGSEGV), code 1, fault
     tid 2433中的

addr 0x0(GLThread 123)与目标VM断开连接,   地址:' localhost:8650',transport:' socket'

任何帮助将不胜感激。非常感谢!

3 个答案:

答案 0 :(得分:1)

为什么会这样?我找到了以下内容:

  

如果属性为EGL_SWAP_BEHAVIOR,则生成EGL_BAD_MATCH,值为   EGL_BUFFER_PRESERVED,以及的EGL_SURFACE_TYPE属性   用于创建表面的EGLConfig不包含   EGL_SWAP_BEHAVIOR_PRESERVED_BIT。

参考:eglSurfaceAttrib khronos组是一个提供标准OpenGL界面的非营利组织。

你是如何解决这个问题的?在Android模拟器中,您可以使用内置(硬件)图形卡。我希望this有所帮助。

答案 1 :(得分:0)

可悲的是,我没有足够的声誉来评论你的问题。

这可能是预构建库的一个问题,因此您可以尝试创建一个不使用预构建库的新项目,看看是否能解决它。如果是这样,那么预构建就会出现问题,否则,无论您启动什么代码,都可能存在问题。如果是这样,如果您可以使用您的代码更新您的问题,那就太棒了!

答案 2 :(得分:0)

所以我花了很多时间,这是一个非常简单的问题,只是没想出来。问题是对于Android我必须添加搜索路径或指定所有资源的完整路径。