cocos2D-X에서 안드로이드 프로젝트 만들기.

2012. 6. 7. 20:23프로그래밍/Cocos2dX

728x90
반응형
cocos2d-x를 이용해서 iOS에서 개발한 프로젝트를 안드로이드로 포팅하기 위해서 준비중입니다.

기존의 Unity3D는 강력한 멀티플랫폼을 지원하지만 생각외로 무겁다는것과 로우Level개발자에게는 자유도가 많이 떨어진다는 단점이 있습니다. Unity3D도 다양하게 튜닝해서 프로젝트에 적용하시는 분들도 많이 봐왔습니다.

하지만 C/C++이 익숙한 개발자에게 자신이 가장 잘하는 언어를 이용해서 개발하는 쪽이 좀더 효율적인 듯해서 그리고 회사 입장에서 특정 Tool에 너무 종속되는 것도 좋지 않다는 생각에서 cocos2d-x를 적용해보고 있습니다.


필요한 툴들은 다음과 같습니다.

Eclipse, NDK, Java SDK, cygwin 그리고 cocos2d-x등입니다.


개인적으로 다음과 같은 위치에 설치를 했습니다.

cocos2d-x : C:\My_Work\Coco2DX\cocos2d-2.0-rc0a-x-2.0

NDK : C:\My_Application\android-ndk-r8

cygwin : C:\cygwin


우선적으로 cocos2d-x아래 create-android-project.bat파일을 열어서 내부를 조금 수정해주고 실행하면 원하시는 프로젝트가 생성됩니다.

수정한 부분은 다음과 같습니다.


:: modify it to work under your environment  

set _CYGBIN=c:\cygwin\bin

if not exist "%_CYGBIN%" echo Couldn't find Cygwin at "%_CYGBIN%" & pause & exit 4


:: modify it to work under your environment

set _ANDROIDTOOLS=C:\My_Application\android-sdks\tools

if not exist "%_ANDROIDTOOLS%" echo Couldn't find android sdk tools at "%_ANDROIDTOOLS%" & pause & exit 5


:: modify it to work under your environment

set _NDKROOT=C:\My_Application\android-ndk-r8

if not exist "%_NDKROOT%" echo Couldn't find ndk at "%_NDKROOT%" & pause & exit 6


위와 같이 수정하시고 create-android-project.bat파일을 실행하면 command창이 뜨면서 원하는 Project path와 Project이름을 입력하라고 뜬후 단말기 Target번호를 묻는 화면이 이어집니다. 예를 들면 다음과 같은 질문 3가지입니다.

1. Package Path : com.manodio.android~

2. Package Name : GloryOfSpartaX

3. 대상 단말기 SDK번호 : 6 (원하시는 Target 번호를 입력하시면 됩니다.)



위 절차를 수행하고나면 GloryOfSpartaX 아래 다음과 같은 파일들과 디렉토리가 생성된것을 확인할 수 있습니다.

그리고 그 속에 들어가보면 안드로이드에서 사용가능한 파일들이 자동으로 생성된 것을 확인할 수 있습니다.



바로위 그림을 보시면 libs와 obj 폴더가 없거나 비어있습니다.

이는 build_native.sh를 실행하면 생성됩니다. 실행하는 방법은 cygwin에서 위 경로까지 이동해서 command에서 실행해주면 됩니다.


Cygwin을 설치한 곳에서 cygwin.exe파일을 실행하면 콘솔화면이 뜰겁니다.


$ cd /cygdrive/c/My_Work/Coco2DX/cocos2d-2.0-rc0a-x-2.0/GloryOfSpartaX/proj.android

$ ./build_native.sh 를 실행합니다.


그럼 부족한 파일들이 안드로이드 폴더아래 생성이 되고 이클립스에서 빌드하고 실행하면 단말기에 올라가고 실행이 됩니다. 조금은 복잡한 과정이 있기는 하지만 이클립스에서 자동으로 위 과정을 실행시키는 방법도 있습니다.


조금이나마 도움이 되었으면 하는 마음에서 올립니다.


728x90
반응형