2014년 5월 17일 토요일

Android+COCOS2D-x 3.0 개발환경 구성하기

진짜 욕나오는 cocos2d 환경 구성하기. 걍 따라하시면 됩니다....

하기전에.....잡담.. 생략하셔도 됩니다.
우선 저의 안드로이드 테스트까지의 파란만장한 시도를 떠들자면... 눈물이 나네요 ㅠ
먼저 cocos2d-x는 버전이 여러가지 있습니다. 비교적 쉬운 플랫폼이라길래 인터넷에서 잘 올라온 과정을 따라할려고 했죠. 2.2.1버전을 설치를 하였는데 과정이 장난 아니더군요. 하지만 막상 작업을 하려고 하니 아는건 쥐뿔도 없고 아래 화면만 보게 되더군요.
그래서 이왕 시작한거 책을 구매하였습니다. 책을 찾아보니 대부분 3.0버전을 기준으로 하였고 지금 2.2.3버전을 많이 쓴다지만 좋은 플렛폼일수록 높은 버전에 대한 준비와 배움이 필요하기에 그렇게 3.0버전을 기준으로 한 책을 샀습니다. 그래도 나름 2.2.1버전을 설치해 봤다고 책에 나온 과정을 무시하고 제 멋대로 설치한 결과!.. 예제가 실행이 안되다니......... 
알고보니 2.2.1에서 빈프로젝트를 template\multi-platform-cpp\proj.win32를 이용하여 실행하면 됬지만, 3.0에서는 \build에 찾아서 실행을 해야 하는 거였습니다. 결국 위와 같은 화면을 다시 보게 되었죠.
이게 끝이 아닌게, 빌드폴더의 파일을 가지고 작업을 하는 것이 아니라 프로젝트 생성을 하고 그걸 이용하여 작업을 해야하는데 책에 나온 create_project.py라는 파일이 없.............
버전이 달라서 없답니다. 같은 3.0기준인데? 책은 정확히 3.0beta2를 기준으로 했더군요. 그래서 다시 3.0beta2로 ㄱㄱ~
이게 끝이 아닙니다. 프로젝트 생성까지 성공했습니다. 근데? 안드로이드 설치가 안되더군요. 해외 페이지까지 해석해가며 내린 결론은. 3.0 다시 설치하기. 그래서 다시 3.0으로 ㄱㄱ
하지만 3.0에는 create_project.py에 대한 부분은 cocos2d 홈페이지에서 자세히 나와 있어서 다시만난 난관이였지만 해결.. 할 뻔했는데?
아...아...아...아...아...아...아...
. 상식적으로 높은 버전은 하위 버전을 포용하는데 3.0버전으로 프로젝트를 생성할 경우 python 2.7버전이 필요하다는 군요. 2010년도에 나온 버전인데... 최신은 3.4버전인데 ㅡㅡ;;
이틀을 삽질하고(물론 별것도 아닌거 가지고 스스로 삽질한 것도 있지만..) 다른 분들은 이러한 피해를 입지 않도록 cocos2d-x 3.0 (beta버전 아님) 개발 환경 구성하기 포스팅을 해보려 합니다.

전체적인 준비물
  1. java SE
  2. eclipse
  3. ADK plugin
  4. NDK
  5. 비주얼스튜디오 2012 이상
  6. Cocos2d-x
  7. python (2.7 *중요)

1. 설치


우선 사용하는 저의 개발 환경은  Window x64 를 사용합니다.

자바 환경 구성을 순서로 나열한다면
  1. Java SE JDK 다운로드
  2. Java 환경 변수 설정하기(Path 설정)
로 나눌 수 있습니다.

1. Java SE 다운로드 하기



Java SE JDK를 다운로드하기 위해서는 오라클 홈페이지로 접속하여 DownLoad를 찾고 Java for Develpoers를 찾습니다.



좌측에 보면 Java SE, EE, ME 등등 여러가지가 있습니다. 이것들을 자바 가상머신의 플랫폼들인데 대표적으로  Java SE,EE,ME로 나누어집니다. SE는 Standard Edition이란 흔히 PC라 불리우는 기기에서의 자바 플랫폼 '표준'입니다. 때문에 JVM의 모든 기능을 지원하고 API를 포함하고 있습니다.
 EE는 Enterprise Edition의 약자입니다. EE는 서버측을 위한 자바 플랫폼으로서 대부분 서버측의 역활은 기업이 맡아왔기 때문에 Enterprise란 용어가 붙은 듯 싶네요.
 ME는 Mobile Edition, 즉 모바일 기기를 위한 플랫폼으로 휴대폰 뿐만 아니라 소형 임베디드 기기, PDA, 셋톱박스 등을 지원합니다.
 안드로이드, Java를 하기 위해선 SE를 필요로 하고 하나의 서버를 두고 통신을 하게 만들려면 EE 또한 필요하게 될 것입니다. 안드로이드는 Java ME을 기반으로 만든 것이 아니고 달빅 가상 머신을 통해 자바로 작성된 운영체제이기 때문에 ME가 아닌 SE를 필요로 한다고 합니다. 

버전 별로 지원하는 것과 지원하지 않는 것들이 다르기 때문에 신중히 선택하여 다운로드 해야 하지만 나는 큰 영향이 없을 것으로 예상하기 때문에 가장 최신 버전으로 다운로드 할 것입니다.
 파란테두리를 클릭하여 JDK 다운로드 페이지로 이동하고
 자신의 운영체제에 맞는 JDK를 다운로드&설치를 진행하면 되겠습니다.

2.Java 환경변수 설정하기

사실 Java 환경 변수를 설정하지 않아도 실행하는 데에는 아무런 문제가 되지 않지만 실행할 파일이 java가 설치된 폴더안에 있지 않으면 Full Path를 입력을 하거나 실행이 되지 않습니다. Path 변수를 설정함으로서 컴퓨터 어떠한 곳이라도 Java프로그램을 접근할 수 있도록 할수 있습니다.

크게 Path,ClassPath와 Java_HOME을 설정을 하게 됩니다. 설정은 GUI환경에서 쉽게 할수 있게 되어있습니다. 저를 기준으로 Window7에서는

'컴퓨터' 우 클릭 ->
고급 시스템 설정 ->
환경 변수 ->


이렇게 찾아오시면 됩니다.


설정을 해야하는 것은 Java_Home,CLASSPATH,Path 이렇게 3가지입니다. 각각을 설명하자면 Path는 앞서 설명한 것처럼 Java가 설치된 경로를 설정함으로서 Java의 프로그램들을 접근하기 위해 설정을 하고, CLASSPATH는 폴더나 파일을 설정하여 그 경로에 있는 Class또는 설정된 파일의 Class파일을 호출하여 사용할 수 있도록 합니다. Java_Home은 다른 어플리케이션들이 Java를 이용할 떄에 JAVA_HOME이라는 환경변수를 참조하기 때문에 설정을 하게 됩니다.

윗 부분에 해당하는 사용자 변수 부분에서 '새로 만들기'를 통하여

  • 변수이름 : JAVA_HOME
  • 변수값 : C:\Program Files\Java\jdk1.8.0_05 (자바 jdk 를 설치한 위치)
설정을 하게 되고

아랫 부분에 해당하는 시스탬 변수 부분에서 '새로 만들기'를 통하여

  • 변수이름 : CLASSPATH
  • 변수값 : C:\Program Files\Java\jdk1.8.0_05\lib\tools.jar (java_home 하위경로 파일)
CLASSPATH를 설정하고 'path' 클릭 후 편집을 눌려

  • 변수이름 : Path
  • 변수값 : (기존 Path)C:\Program Files\Java\jdk1.8.0_05\bin;
기존의 path에 추가를 해줍니다.

이렇게 함으로서 Java JDK 설치와 환경변수를 설정을 하였습니다.

확인을 하기 위해서는 '윈도우키+R' 또는 '시작->모든프로그램->보조프로그램->명령프롬프트'를 실행하여 javac,javaw,javaws등 Path에 편집한 위치에 존재하는 파일을 실행해보면 됩니다. 만약 실행이 된다면 컴퓨터의 다른 위치에서도 실행이 된다는 것이므로 환경변수 설졍이 잘 되었다고 할수 있습니다.


1)이클립스+ADK

ADK란 Android Software Development Kit, 즉 개발도구이긴한데 Android를 지원하는 개발도구 입니다. 보통 이클립스를 많이 사용하실텐데 이클립스에서 Android를 지원하기 위해서 필요한 것이 SDK 플러그인 입니다. 제가 마지막으로 배웠을 때에는 기존 이클립스에서 ADK플러그인 다운받는 식으로 사용하였는데 지금은 안드로이드 개발 페이지에 가보니 1~2을 한번에 만들어 제공을 하더군요. 


다운로드 페이지에 가셔서 ADK Bundle을 다운 받으면 됩니다. 설치를 하시고 압축을 풀어줍니다.
이제 ADK Manager를 이용하여 각 버전에 맞는 API들을 다운받아 설치를 하면 기본적으로 안드로이드 앱을 개발할 수 있습니다.


Window -> ADK Manager 을 찾아가 실행시켜줍니다.


이제 여기서 자신이 개발하려는 버전에 맞춰 다운받아주시면 해당 버전으로 개발을 할 수 있습니다. 여기서 다운로드 서버가 작은지 시간이 오래 걸리므로 빠릿빠릿하게 하면 될듯? 싶네요. 참고로 작년(2013)까지의 버전 점유율 2.3.3버전이상으로 하게되면 대부분에 적용할 수 있네요.


2)NDK

안드로이드에서 C/C++ 코드로 된 모듈을 불러오기 위해서는 NDK (Native Development Kit) 를 이용해야만 합니다. 때문에 설치를 해줍니다. 이것 또한 구글의 안드로이드 개발페이지에서 다운로드 할 수 있습니다.

3)COCOS2D-X

cocos2d-x는 멀티플렛폼 오픈소스 엔진 입니다. 기본적으로 폰 게임 분야에서 많이 쓰이고 전 세계적으로 많은 사용을 받는 엔진이라고 합니다. 이거에 대한 블로그 강좌나 정보를 가장 쉽게 접할 수 있어 cocos2d-x로 정했습니다. 이것도 그냥 다운로드해서 압축을 풀어주면 됩니다. 저는 2.2.3버전을 기준으로 작업하고 있습니다.

4)Python

cocos2d-x 프로젝트를 생성하기 위해서 필요합니다. 이것도 다운로드하고 설치를 해줍니다.

5) 비주얼 스튜디오 2012

우리 모두 구할 수 있자나요? 그렇죠?
사실 제가 처음 2010으로 해봤는데 서비스팩깔면 됩니다. 하지만 2012를 깔아줍니다. 언제 또 어디서 막힐지 모르니..

2.설정

자바 SDK를 설치했을 때와 마찬가지로 환경변수를 설정해 줘야 합니다. 설정하기 위해선

여기(우클릭)

여기

여기

이렇게 찾아오시면 됩니다.

설정은 총 3가지만 하면 됩니다. 아래는 저를 기준이니 경로 설정 잘해줍니다. 경로 구분은 ; 로 구분해줍니다.(저는 cocos2d-x관련 파일들을 E:\Android_cocos2d-x\폴더에 모았습니다.)
  • 시스템 변수 - Path   기존에 추가
    • ~~;E:\Android_cocos2d-x\Python27;E:\Android_cocos2d-x\android-ndk-r9d
  • 사용자 변수 - NDK_MODULE_PATH   새로 만들기
    • E:\Android_cocos2d-x\cocos2d-x-2.2.3;E:\Android_cocos2d-x\cocos2d-x-2.2.3\cocos2dx\platform\third_party\android\prebuilt
  • 사용자 변수 - NDK_ROOT   새로 만들기
    • E:\Android_cocos2d-x\android-ndk-r9d

  • cocos2d-x의 루트폴더의 setup.py 실행
setup.py를 실행하게 되면 위의 것들과 cocos2d-x에 관련된 환경변수를 자동 등록 해줍니다. 하지만 못 찾는 경우도 많아서 위의 것들은 그냥 직접 등록 해주도록 합니다.

  • 명령프롬프트(cmd) 또는 python 에서 "cocos run"을 입력해 줍니다.
이로서 모든 설정이 완료 되었습니다.. 저는 여기까지 2틀걸렸네요. 멍청한듯


바로 다음 포스팅으로 win32랑 android환경에서의 예제 실행을 하겠습니다.

--------------------------------------------------------------------------------

댓글 없음:

댓글 쓰기