Cocos2d-x 안드로이드 포팅하기

작업환경: cocos2d-2.1rc0-x-2.1.3 / windows7 64bit/ Visual Studio 2010

위에 작업환경이 세팅되어진 상태에서 포팅하기 때문에 cocos2d-x 설치과정은 생략합니다.

1. JDK(Java Development Kit)  설치

JDK는 아래의 링크 사이트에서 Java SE Development kit으로 운영체제에 맞게 받습니다.

링크: http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html


좌측에 Accept License Agreement에 동의 체크를 하고 파일을 다운 받고 실행합니다.


위와 같이 설치화면이 나오면 Netxt 버튼을 클릭합니다.


JDK경로인데 이부분은 프로그램파일이 디폴트로 설치 할것임으로 Next합니다.


설치 화면임으로 기다립니다.


해당결로를 그대로 쓸것이기에 Next합니다.


설치중...


설치 완료

여기까지 JDK 설치를 했음으로 이제 시스템 속성에서 환경변수를 세팅해야 합니다. 시스템 속성은 내컴퓨터 > 속성 > 고급시스템 설정으로 이동합니다.



시스템 변수에 있는 Path를 아래 처럼 편집하고 확인 버튼을 누릅니다.

기존값; C:\Program Files\Java\jdk1.7.0_25\bin;


사용자 변수에는 classpath를 아래처럼 편집합니다. classpath가 없다면 새로만들기로 classpath을 만들어 줍니다.

기존값; C:\Program Files\Java\jdk1.7.0_25\lib\tools.jar;


여기 까지 했으면 JDK 설치 및 설정은 끝입니다.


2. Eclipse 설치

Eclipse 는 아래의 링크 사이트에서 Eclipse IDE for Java EE Developers로 운영체제에 맞게 받습니다.

링크: http://www.eclipse.org/downloads/


다운로드가 완료되면 압축을 풀고 적당한 곳에 넣어줍니다. 저는 D드라이브에 android 폴더를 생성한 후 여기에 넣어 줬습니다.



이클립스를 실행하면 아래처럼 워크스페이스 경로가 디폴트로 잡히게 되는데 이것은 일단 OK 버튼을 눌러줍니다.


아래처럼 해당 화면이 나오면 이클립스가 제대로 설치 된 것입니다.


3. ADT  설치

이어서 ADT를 설치합니다. 이클립스 Help을 누른뒤 Install New Software을 클립합니다.


아래 화면 오른쪽에 Add.. 버튼을 누른뒤 아래와 같이 입력합니다.

Name: ADT

Location: http://dl-ssl.google.com/android/eclipse


Developer Tools와 NDK Plugins을 모두 체크한후 다음 버튼을 눌러 줍니다.


아래는 설치할 항목들에 대한 요약임으로 다음버튼을 눌러줍니다.


라이센스 동의에 체크을 한후 Finish 버튼을 눌러줍니다.


설치 되고 있는 화면입니다.

설치 중간에 아래 처럼 경고 창이 하나 뜨는데 OK버튼을 눌러 줍니다.

설치가 완료되면 이클립스를 재시작 할지 물어보는데 Yes 버튼을 눌러 줍니다.


재 시작이 되면 안드로이드 SDK 세팅이 안되어 있다는 메세지가 나오는데 여기서 Close 선택합니다.

위에서 Close을 선택하면 아래처럼 Android SDK 설치화면이 나오는데 Android SDK을 별도로 설치 할 것이기에 취소  버튼을 눌러 줍니다.


이클립스에서 아래처럼 Window - Open Perspective - Java을 눌러 SDK 아이콘을 보이게 합니다.


안보였던 SDK 버튼이 보이게 됩니다. 이 아이콘은 SDK Manager하고 Android Virtual Device Manager 아이콘 입니다.


4. Android SDK 설치

링크: http://developer.android.com/sdk/index.html


안드로이드 SDK 설치를 위해 다운로드 버튼을 클릭합니다.


사용 동의 및 운영체제에 해당하는 비트를 체크하고 다운로드을 받습니다.

압축을 풀면 아래 처럼 3개가 있는데 우리가 필요한건 sdk만 필요함으로 sdk만 복사합니다.


전에 만들었던 android 폴더에 sdk을 넣어 줍니다.


이제 이클립스에서 Android SDk에 대한 세팅을 마무리 하겠습니다. 

windows - Preference로 들어갑니다.


좌측에 Android을 선택하고 sdk가 경로를 지정해 줍니다. 그리고 OK 버튼

이제 이클립스 툴바에서 안드로이드 모양에 아래로 화살표가 되어있는 Android SDK Manager 버튼을 눌러줍니다.


아래 화면은 안드로이드 패키지 인스톨입니다. 모든걸 다 선택하여 설치할 수도 있지만 주로 많이 쓰는 버전인 2.3.3버전과 최신버전인 4.2.2버전 그리고 Tools을 선택하고 Install 버튼을 눌러 줍니다.

Accept License에 체크한후 인스톨을 눌러줍니다.

설치하고 있는 화면입니다.


설치가 완료된 화면 


5. Cygwin 설치

링크: http://cygwin.com/install.html

setup.exe파일을 다운받아 설치를 진행 합니다.


인터넷으로 받아서 설치 할 것임으로  Install from Internet에 체크 합니다.


원하는 위치에 디렉토리를 설정합니다.


설치하는데 필요한 소스를 저장할 경로입니다.


접속 방법을 설정합니다.


다운로드 사이트을 정해주는데 다음이 빠른거 같아 다음으로 지정합니다.


패키지 중에서 Devel과 Editors를 클릭하여 Install로 바꿔서 계속 설치를 합니다.


설치를 하는 화면입니다.




시스템 변수에서 기존에 있는 Path에 cygwin 환경 변수를 추가 합니다.

기존값; D:\android\cygwin\bin; D:\android\cygwin\usr\include;



6. Android NDK 설치하기

링크: http://developer.android.com/tools/sdk/ndk/index.html



압축을 풀고 적당한 위치에 옮겨줍니다.


환경변수에서 아래와 같이 추가 합니다.(단 경로는 설치한 경로에 따라 다름으로 주위 할 것!)

시스템 변수 (path)

기존값 ; D:\android\android-ndk-r8e;

사용자 변수

변수 이름 : ANDROID_NDK_ROOT

변수 값 : D:\android\android-ndk-r8e

변수 이름 : COCOS2DX_ROOT

변수 값 : D:\cocos2d-2.1rc0-x-2.1.3

변수 이름 : NDK_ROOT

변수 값 : D:\android\android-ndk-r8e

변수 이름 : ANDROID_SDK_ROOT

변수 값 : D:\android\sdk



.bashrc파일 경로는 다음과 같습니다.


이 파일을 메모장 프로그램으로 열어서 내용을 수정합니다.


시그윈을 시작하고 'ndk-build -B'를 입력해 NDK를 빌드 합니다. 아래 화면은 정상 화면 입니다.


6. Cocos2d-x로 안드로이드 프로젝트 만들기

cocos2d-x가 설치된 폴더 안에 있는 create-android-project.bat파일을 열어 아래 처럼 수정합니다.

set _CYGBIN=d:\android\cygwin\bin

set _ANDROIDTOOLS=d:\android\sdk\tools

set _NDKROOT=d:\android\android-ndk-r8e


create-android-project.bat파일을 열어 아래처럼 입력합니다.



test01을 만든 폴더에 proj.android 폴더로 들어간후 sh build_native.sh로 빌드를 합니다. Permission denied라고 뜨면서 빌드에 실패하는경우 chmod 777 * -R 로 권한을 설정해 줍니다. 저 같은경우 cocos2d-x의 상위 폴더에서 이 명령어를 실행했더니 사라졌습니다.


build_native.sh not finding SimpleAudio Engine.h

아래 코드를 android.mk에 추가한다.

LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static cocosdenshion_static

include $(BUILD_SHARED_LIBRARY)

$(call import-module,cocos2dx)

$(call import-module,CocosDenshion/android)


정상적으로 빌드가 성공하면 so 파일이 아래처럼 so파일이 만들어 집니다.



'cocos2d-x' 카테고리의 다른 글

안드로이드 화면 가로, 세로 지정하기  (0) 2013.07.23
LOCAL_SRC_FILES 파일리스트 정의  (0) 2013.07.23

+ Recent posts