Skip to content

Cocos2dx:Android

Cocos2dx를 사용하여 안드로이드 프로젝트를 시작하는 방법에 대하여 정리한다.

Environment variables

우선, 아래와 같은 환경변수 설정이 필요하다.

  • COCOS2DX_ROOT: Cocos2dx 루트 디렉터리.
  • CYGWIN: Cygwin ROOT 디렉터리. (Cygwin.bat 파일이 존재하는 디렉터리)
  • ANDROID_SDK: 안드로이드 SDK ROOT 디렉터리.
  • ANDROID_NDK: 안드로이드 NDK ROOT 디렉터리.

Cocos2dx 와 Eclipse, ADT통합 방법

  1. SDK설치후 create-android-project.bat파일을 사용하여 프로젝트를 생성한다.
  2. Classes, proj.android, Resources 디렉터리가 생성된다.
    1. Classes의 모든 파일을 proj.android/jni에 복사한다. 복사한 후 proj.android/jni/Android.mk파일을 알맞게 수정한다.
    2. Resources의 모든 파일을 proj.android/assets에 복사한다.
  3. Eclipse를 실행시킨 후 proj.android를 Android project로 import한다.
  4. 프로젝트 우클릭 > Android Tools > Add Native support...를 선택한 후, libgame.so로 라이브러리를 생성하도록 한다. (android-ndk-r8e 는 Cygwin을 필요로 하지 않는다.)
  5. COCOS2DX_ROOT/cocos2dx/platform/android/java/src 소스를 새롭게 생성된 프로젝트의 proj.android/src에 복사한다.
  6. Eclipse의 Project > Properties > Android > Library Reference를 모두 제거한다.
  7. proj.android/jni/Android.mk의 추가 모듈 컴파일이 정상적으로 작동되도록 하기 위해 NDK_MODULE_PATH환경변수를 설정해야 한다. (덧붙여서 $(call import-module,CocosDenshion/android) $(call import-module,cocos2dx) $(call import-module,extensions) 부분에 해당한다.)
    1. Project > Properties > C/C++ Build > Builder Settings > Build command:의 내용을 수정한다.
    2. ndk-build "NDK_MODULE_PATH=COCOS2DX_ROOT;COCOS2DX_ROOT/cocos2dx;COCOS2DX_ROOT/cocos2dx/platform/third_party/android/prebuilt"

이 프로젝트에 필요한 디렉터리목록은 아래와 같다.

  • COCOS2DX_ROOT/cocos2dx
  • COCOS2DX_ROOT/CocosDenshion
  • COCOS2DX_ROOT/extensions
  • COCOS2DX_ROOT/external

Troubleshooting

Unknown host operating system

Windows 환경에서 아래와 같은 에러 메시지가 나타날 수 있다.

ERROR: Unknown host operating system

이 경우 Build command를 ndk-build ...에서 ndk-build.cmd ...으로 변경하면 된다.

See also

Favorite site

References


  1. Create_android_cocos2dx_project.pdf