Cocos2d-x Plugin-X gameDevGuide.sh 실행 후 jar lib missing 이슈

 Cocos2d-x 플러그인X의 게임 개발자 가이드 툴인 gameDevGuide.sh 를 실행하면 자동으로 안드로이드 프로젝트 설정과 관련 된 것을 변경해줍니다. 테스트로 flurry와 admob을 사용하게 설정 후 이클립스를 실행해보니 아래와 같이 jar 파일을 못 찾는 에러가 발생하네요.


Description Resource Path Location Type
The project cannot be built until build path errors are resolved AdMobTestGame Unknown Java Problem
Project 'AdMobTestGame' is missing required library: 'plugin-x/plugins/admob/android/libPluginAdmob.jar' AdMobTestGame Build path Build Path Problem
Project 'AdMobTestGame' is missing required library: 'plugin-x/plugins/admob/android/GoogleAdMobAdsSdk.jar' AdMobTestGame Build path Build Path Problem
Project 'AdMobTestGame' is missing required library: 'plugin-x/protocols/android/libPluginProtocol.jar' AdMobTestGame Build path Build Path Problem
Project 'AdMobTestGame' is missing required library: 'plugin-x/plugins/flurry/android/libPluginFlurry.jar' AdMobTestGame Build path Build Path Problem
Project 'AdMobTestGame' is missing required library: 'plugin-x/plugins/flurry/android/FlurryAgent.jar' AdMobTestGame Build path Build Path Problem


 파일들이 모두 plugin-x 하위 폴더에서 찾고 있길래 어떤 파일에 설정이 되어있나 찾아보니 아래와 같이 .classpath에 설정되어 있더군요.

<classpathentry exported="true" kind="lib" path="plugin-x/protocols/android/libPluginProtocol.jar"/>
<classpathentry exported="true" kind="lib" path="plugin-x/plugins/flurry/android/FlurryAgent.jar"/>
<classpathentry exported="true" kind="lib" path="plugin-x/plugins/flurry/android/libPluginFlurry.jar"/>
<classpathentry exported="true" kind="lib" path="plugin-x/plugins/admob/android/GoogleAdMobAdsSdk.jar"/>
<classpathentry exported="true" kind="lib" path="plugin-x/plugins/admob/android/libPluginAdmob.jar"/>


 .classpath를 수정하거나 이클립스 Java Build Path에서 수정을 해줘도 되지만 좀 더 근본적인 것을 찾아봤습니다. classpathentry에서 사용하는 plugin-x 라는게 어디에 정의되어 있나 찾아보니 아래 그림과 같이 .project 파일에 있었습니다.



 Classes, cocos2dx, extensions, scripting 등도 정의되어 있는데 이클립스에서는 아래 그림에서처럼 Resource - Linked Resources 탭에 있더군요. 그런데 파일에는 있는 plugin-x가 안보입니다. 그래서 파일을 못 찾는거 같네요.


<link><name>plugin-x</name><type>2</type><locationURI>d:/cocos2d-x-3.0alpha1/plugin/publish</locationURI></link>

 .project 파일에 위와 같이 정의 된 것중 locationURI 태그를 location으로 바꿔주고 저장 후 이클립스에서 확인하면 아래와 같이 정상적으로 인식하고 에러도 없더군요.



 아마 절대 경로는 location으로 해주고 상대경로는 locationURI로 하는 것 같습니다. 이렇게 수정해줘도 매 프로젝트마다 이렇게 해줘야하니 plugin\tools\toolsForGame\modifyProject.py 파일에서 15라인에 있는 아래 내용중 URI를 빼면 될 듯 하네요.

locEle = ET.Element('locationURI')

댓글

이 블로그의 인기 게시물

'xxx.exe' 프로그램을 시작할 수 없습니다. 지정된 파일을 찾을 수 없습니다.

goorm IDE에서 node.js 프로젝트로 Hello World Simple Server 만들어 띄워보기

애드센스 수익을 웨스턴 유니온으로 수표대신 현금으로 지급 받아보자.