我也尝试在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 帧!应用程序可能在其主要方面做了太多工作 线程。
tid 2433中的[ 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
addr 0x0(GLThread 123)与目标VM断开连接, 地址:' localhost:8650',transport:' socket'
任何帮助将不胜感激。非常感谢!
答案 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我必须添加搜索路径或指定所有资源的完整路径。