adsense



cocos2d-x 3.3 안드로이드 단말 실행 (이클립스 + Windows 7) 추가수정 2014.12.27

1. cocos2d-x 라이브러리 임포트 (기존에 쓰던 라이브러리-2.2.x나 3.2 등-은 미리 리네임)

2. 프로젝트 임포트. 세로화면이면 매니페스트에서 landscape를 portrait으로 수정.

3. Properties->Android에서 빌드 타겟 API를 최저 API Level 14 이상으로. 메니페스트에서 android:minSdkVersion은 더 낮아도 됩니다.
(android.annotation에서 에러 뜨는 건 이게 원인)

4. Java Build Path -> Libraries에서 Android Dependencies를 remove.
(Unable to execute dex: Multiple dex files define 에러의 원인)

-> 이 경우, Run As Android Application으로 디버그 apk를 생성, 실행하는 것 까지는 잘 되지만 Android Tools->export signed application package를 선택해 배포용 apk를 빌드하면 다시 Android Dependencies가 생겨버립니다.

cocos2d-x 3.3에 한해 프로젝트의 properties에서 아예 libcocos2dx 포함을 제거해버리니까 정상적으로 동작했습니다.
생성한 apk의 설치, 테스트는 단말기 하나에서만 테스트해봐서 아직 검증이 좀 부족하지 않나 싶지만 이 상태에서 디버그 빌드한 것도 잘 돌아가고..

재정리하면,
(1) Unable to execute dex: Multiple dex files define에러는 properties에서 아예 라이브러리 설정을 삭제해야 유효
(2) properties에서 라이브러리 설정을 하지 않으니 cocos2d-x 라이브러리를 이클립스에 임포트해야 하는지는 불명
(3) 추가 검증은 좀 더 필요한 상태 (..지만 전 이대로 일단 프로덕션용 apk 제출해버렸습니다..)




5. Resource 폴더에 폴더명/파일명 2바이트 문자(한글, 한자, 가나 등)가 들어있으면 안됩니다.
(Error generating final archive: java.io.FileNotFoundException의 원인)

6. 프로젝트를 Clean하고 실행.
혹시 안된다면 이클립스를 종료, 재실행하고 임포트된 라이브러리에 오류가 없나, Android Dependencies가 삭제되어있나 확인.

이상이면 웬만하면 잘 됩니다..

(테스트 단말 갤럭시탭7 1세대 - 안드로이드 2.3)

덧글

댓글 입력 영역
* 비로그인 덧글의 IP 전체보기를 설정한 이글루입니다.


Books

Geek라이프

게임 매니악스 슈팅 게임 알고리즘
마츠우라 켄이치로,츠카사 유키 공저/손정도 역/박민근,Pope Kim 감수

게임 매니악스 퍼즐 게임 알고리즘
마츠우라 켄이치로,츠카사 유키 공저/김병국 역

만들면서 배우는 유니티 게임 프로그래밍
송용성 저

핵심강좌! Cocos2d-x
이재환 저

될 수 있어! SE 8
나츠미 코지 저/Ixy 그림/김경훈 역
예스24 | 애드온2