exitgames 의 Photon Server 를 분석하고 있는데, 안드로이드 클라이언트를 빌드한 후, 실행하려고 하면 계속 에러를 쏟아내는 현상이 발생했다.
I/dalvikvm(323): Failed resolving Lde/exitgames/demo/realtime/DemoService; interface 42 'Lde/exitgames/client/photon/IPhotonPeerListener;'
W/dalvikvm(323): Link of class 'Lde/exitgames/demo/realtime/DemoService;' failed
W/dalvikvm(323): VFY: unable to find class referenced in signature (Lde/exitgames/demo/realtime/DemoService;)
- 중략 -
E/AndroidRuntime(323): FATAL EXCEPTION: main
E/AndroidRuntime(323): java.lang.NoClassDefFoundError: de.exitgames.demo.realtime.DemoService
E/AndroidRuntime(323): at de.exitgames.demo.realtime.RealtimeDemo.setMainScreen(RealtimeDemo.java:42)
E/AndroidRuntime(323): at de.exitgames.demo.realtime.RealtimeDemo.onCreate(RealtimeDemo.java:35)
빌드는 되는데, 실행이 안되는 것으로 보아 "라이브러리" 의 참조 문제일 것으로 예상하고, 온갖 설정을 바꿔 봤으나 아무런 소용이 없었다.
가장 많이 언급되는 것은,
ADT 가 v22 가 되면서, Android Private Libraries 가 추가 됐고,
Java Build Path 설정에서, Private Libraries 에 제대로 등록되어 있는지...
그리고, Order and Export 에서 체크가 되어 있는지를 확인해 보라는 것이었다.
이렇게 하면,
프로젝트 폴더의 .classpath 파일 내용이 아래와 같이 된다.
그 후 clean 하고, 다시 build 하면 정상 작동된다고 했는데...
난 몇 시간 동안 계속 실패 -_-
이클립스가 Indigo 라서 반항하는 걸까 싶어서 Kepler 까지 설치해서 해봤으나 소용 없음.
AVD 도 2.2.3 버전의 문제일까 싶어서, 3.x 와 4.x 대로 실험을 해봤으나 소용 없음.
온갖 삽질을 다 한 끝에...
cocos2d-x 의 빌드가 실패하는 문제로 Android 4.4 (API 19) 를 지워버렸다는 사실이 떠올랐다.
그래서 API 와 SDK Build-tools 를 다시 설치했더니... 잘 됨...
덤으로, API 도 4.4 에서 4.4.2 로 올라갔는데, cocos2d-x 빌드 오류 문제 (Unable to execute dex: java.nio.BufferOverflowException) 도 사라졌다.
'개발' 카테고리의 다른 글
재미있는 개발 관련 책 3권 추천 (1) | 2014.05.23 |
---|---|
redmine 메일 셋팅 - Exchange Server (2) | 2014.02.07 |
다시 사용하기 시작한 VirtuaWin, N드라이브 (0) | 2013.05.12 |
맥미니 2012 설치기 (마운틴 라이언, 그리고 부트캠프) (8) | 2013.05.07 |
맥미니 2012 개조기 (SSD 교체) (13) | 2013.05.06 |