2012-07-31 3 views
3

소스의 테스트 프로젝트를 기반으로하는 자막 테스트 프로젝트를 수정합니다.android 앱이 cocos2dx 1.0.1을 기반으로 두 번째 실행에서 충돌했습니다. 0.12.0

public static void terminateProcess(){ 
    finish(); 
} 

에 Cocos2dxActivity.java 파일

public static void terminateProcess(){ 
    android.os.Process.killProcess(android.os.Process.myPid()); 
} 

을 변경할 나는 이것이적인 Cocos2D-2.0-RC2-X-2.0.1에 변경 사용, 활동이 성공적으로 두 번째 시간을 실행할 수 있습니다. 그러나 cocos2d-1.0.1-x-0.12.0 (심지어 cocos2d-1.0.1-x-0.13.0-beta)에서 Activity는 처음 성공적으로 실행되었지만 두 번째 실패하고 세 번째 성공했습니다.

코드가 새 AppDelegate에서 실패했습니다. 여기

void Java_org_cocos2dx_lib_Cocos2dxRenderer_nativeInit(
    JNIEnv* env, jobject thiz, jint w, jint h) 
{ 
    if (!cocos2d::CCDirector::sharedDirector()->getOpenGLView()) 
    { 
    cocos2d::CCEGLView *view = &cocos2d::CCEGLView::sharedOpenGLView(); 
     view->setFrameWidthAndHeight(w, h); 
     cocos2d::CCDirector::sharedDirector()->setOpenGLView(view); 
     //Code failed here. 
     AppDelegate *pAppDelegate = new AppDelegate(); 
     cocos2d::CCApplication::sharedApplication().run(); 
    } 
    else 
    { 
     cocos2d::CCTextureCache::reloadAllTextures(); 
     cocos2d::CCDirector::sharedDirector()->setGLDefaultValues(); 
    } 
} 

07-31 15:30:05.520: I/Adreno200-EGLSUB(134): <CreateImage:896>: Android Image 
07-31 15:30:05.520: I/Adreno200-EGLSUB(134): <GetImageAttributes:1105>: RGBA_8888 
07-31 15:30:05.540: V/PhoneStatusBar(435): setLightsOn(true) 
07-31 15:30:05.600: D/memalloc(134): ion: Allocated buffer base:0x4239c000 size:1658880 fd:53 1000000 0 
07-31 15:30:05.600: D/memalloc(803): ion: Mapped buffer base:0x5cfd1000 size:1658880 offset:0 fd:81 
07-31 15:30:05.610: I/Adreno200-EGLSUB(803): <ConfigWindowMatch:2104>: Format RGB_565. 
07-31 15:30:05.610: D/memalloc(134): ion: Allocated buffer base:0x425f0000 size:798720 fd:60 1000000 0 
07-31 15:30:05.610: D/memalloc(803): ion: Mapped buffer base:0x5d166000 size:798720 offset:0 fd:84 
07-31 15:30:05.630: I/Adreno200-EGLSUB(134): <CreateImage:896>: Android Image 
07-31 15:30:05.630: I/Adreno200-EGLSUB(134): <GetImageAttributes:1105>: RGBA_8888 
07-31 15:30:05.640: I/ActivityManager(315): Displayed com.test.benchmark/org.cocos2dx.tests.TestsDemoV1: +167ms 
07-31 15:30:05.640: D/particle(803): Enter OpenCLView 
07-31 15:30:05.640: D/particle(803): Enter OpenCLView 2 
07-31 15:30:05.640: D/particle(803): Enter OpenCLView 3 
07-31 15:30:05.650: D/particle(803): Enter OpenCLView 4 
07-31 15:30:05.650: A/libc(803): Fatal signal 11 (SIGSEGV) at 0xdeadbaad (code=1) 
07-31 15:30:05.660: D/memalloc(803): ion: Unmapping buffer base:0x5c2d9000 size:1658880 
07-31 15:30:05.660: D/memalloc(134): ion: Freeing buffer base:0x42f50000 size:1658880 fd:47 
07-31 15:30:05.660: D/memalloc(134): ion: Unmapping buffer base:0x42f50000 size:1658880 
07-31 15:30:05.660: D/memalloc(803): ion: Unmapping buffer base:0x5c56e000 size:1658880 
07-31 15:30:05.990: D/memalloc(134): ion: Freeing buffer base:0x4315c000 size:1658880 fd:56 
07-31 15:30:05.990: D/memalloc(134): ion: Unmapping buffer base:0x4315c000 size:1658880 
07-31 15:30:06.000: V/AudioHardwareMSM8660(137): AudioStreamOutMSM72xx::write(0x1c918, 4800) dev = speaker_stereo_rx 
07-31 15:30:06.160: I/DEBUG(30740): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** 
07-31 15:30:06.160: I/DEBUG(30740): Build fingerprint: 'Xiaomi/mione_plus/mione_plus:4.0.4/IMM76D/2.7.20:user/release-keys' 
07-31 15:30:06.160: I/DEBUG(30740): pid: 803, tid: 921 >>> com.ludashi.benchmark <<< 
07-31 15:30:06.160: I/DEBUG(30740): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr deadbaad 
07-31 15:30:06.160: I/DEBUG(30740): r0 deadbaad r1 00000001 r2 40000000 r3 00000000 
07-31 15:30:06.160: I/DEBUG(30740): r4 00000000 r5 00000027 r6 00000000 r7 581adf48 
07-31 15:30:06.160: I/DEBUG(30740): r8 5ca51c10 r9 581adf40 10 00000008 fp 5ca51c24 
07-31 15:30:06.160: I/DEBUG(30740): ip 00000000 sp 5ca51b90 lr 400cd4b9 pc 400c9c18 cpsr 60000030 
07-31 15:30:06.160: I/DEBUG(30740): d0 3a6432736f636f63 d1 696c70704143433a 
07-31 15:30:06.160: I/DEBUG(30740): d2 3a3a6e6f69746163 d3 63696c7070414343 
07-31 15:30:06.160: I/DEBUG(30740): d4 0000000000000000 d5 0000000000000000 
07-31 15:30:06.160: I/DEBUG(30740): d6 0000000000000000 d7 0000000000000000 
07-31 15:30:06.160: I/DEBUG(30740): d8 436a000043340000 d9 43f00000000000ea 
07-31 15:30:06.160: I/DEBUG(30740): d10 0000000044138000 d11 0000000000000000 
07-31 15:30:06.170: I/DEBUG(30740): d12 0000000000000000 d13 0000000000000000 
07-31 15:30:06.170: I/DEBUG(30740): d14 0000000000000000 d15 0000000000000000 
07-31 15:30:06.170: I/DEBUG(30740): d16 64656c6961662022 d17 2220656c6966203a 
07-31 15:30:06.170: I/DEBUG(30740): d18 0000000000000000 d19 0000000000000000 
07-31 15:30:06.170: I/DEBUG(30740): d20 0000000000000000 d21 0000000000000000 
07-31 15:30:06.170: I/DEBUG(30740): d22 0000000000000000 d23 0000000000000000 
07-31 15:30:06.170: I/DEBUG(30740): d24 3f582b387b22f3c1 d25 3f6dcabc4571abc1 
07-31 15:30:06.170: I/DEBUG(30740): d26 3f30837711244472 d27 3f4375429245411f 
07-31 15:30:06.170: V/AudioPolicyManager(137): stopOutput() output 1, stream 1 
07-31 15:30:06.170: V/AudioPolicyManagerBase(137): changeRefCount() stream 1, count 0 
07-31 15:30:06.170: V/AudioPolicyManagerBase(137): getNewDevice() selected device 0 
07-31 15:30:06.170: V/AudioPolicyManager(137): setOutputDevice() output 1 device 0 delayMs 0 
07-31 15:30:06.170: V/AudioPolicyManager(137): setOutputDevice() setting same device 0 or null device for output 1 
07-31 15:30:06.180: I/DEBUG(30740): d28 3f133abc51b768d7 d29 3f1420ec8fb87f66 
07-31 15:30:06.180: I/DEBUG(30740): d30 3efb2a7074bf7ad4 d31 3ff0000000000000 
07-31 15:30:06.180: I/DEBUG(30740): scr 60000012 
07-31 15:30:06.360: I/DEBUG(30740):   #00 pc 00017c18 /system/lib/libc.so 
07-31 15:30:06.360: I/DEBUG(30740):   #01 pc 0001edb4 /system/lib/libc.so (__assert2) 
07-31 15:30:06.360: I/DEBUG(30740):   #02 pc 0011ff4c 

아무도이 질문에 대해 나를 도울 수

충돌 로그입니까? changelog에 고정 된 것을 찾으려고했으나 아이디어가 없습니다. 덕분에 .

+0

오류 로그를 제공 할 수 있습니까? –

+0

@SaurabhVerma 답장을 보내 주셔서 감사합니다. 로그를 게시했습니다. – cattom2000

답변

4
Check this line: 07-31 15:30:05.650: A/libc(803): Fatal signal 11 (SIGSEGV) at 0xdeadbaad (code=1) 

trying 

07-31 15:30:06.000: V/AudioHardwareMSM8660(137): AudioStreamOutMSM72xx::write(0x1c918, 4800) dev = speaker_stereo_rx

예외가 있습니다. 컴파일 오류가 아니며 오디오로 쓰려고하지만 액세스 할 수 없습니다. 파일이 열려 있으면 파일이 있는지 확인하십시오.

+1

왜 이런 일이 일어 났는지 추측합니다. finish() 메소드는 프로그램을 죽이지 않지만 멈추고 나중에 onResume()이 호출되면 mEGLView가 리소스를 찾고 있지만 실제로 이미 Android에서 끝났습니다. 그래서 게임이 두 번째로 시작될 때, 실제로 이전의 정지 프로세스를 찾고 프로세스가 더 이상 실행할 수 없으므로 시스템이이를 중지시킵니다. 이것은 세 번째 실행 만이 실제 다시 시작되기 때문에 두 번째 실행이 항상 실패하는 이유를 설명합니다. 두 번째 만 다시 시작하려고 시도합니다. –

관련 문제