# 이 글은 3.2버전 기준입니다. 2014년 11월 중순 체크해보니 3.3rc0이 최신 버전이더군요. 최신 버전도 이 방법보다 쉬우면 쉬웠지 어려워지진 않으라 생각합니다. ㅎㅎ 빠른 호흡을 위해 이미지는 넣지 않겠음.
0. cocos2d-x 다운받기. http://www.cocos2d-x.org/download에 적절히 들어가서 적절히 C:\에 압축 풀어놓읍시다.
1. adt 설치: http://developer.android.com/sdk/index.html
2. ndk 설치: http://developer.android.com/tools/sdk/ndk/index.html
3. ant 설치: http://ant.apache.org/bindownload.cgi
4. jdk 설치: http://www.oracle.com/technetwork/java/javase/downloads/index.html -> jdk
각각 최신 버전으로 다운받는게 좋겠죠? 하지만 특정 버젼끼리 충돌이 있을 수가 있습니다. 그럴 땐 구버전을 다운받아야 할 때도 있어요. 2014년 10월 기준으로 가능한 조합은 다음과 같습니다. 각각의 역할에 대해서는 생략. 그리고 전부 C:\든 루트디렉토리에 설치해주세요. 그게 제일 안심이.. 되잖아요?
adt:20140702, ndk-r9d, ant1.9.4, jdk1.8.0_11
5. 환경변수 설정: 시작 - "시스템 환경 변수 편집" 검색 - 환경 변수(N)... -
5.1. ANDROID_HOME : adt 하위 sdk 폴더
5.2. ANDROID_SDK_ROOT : adt 하위 sdk 폴더
5.3. ANT_ROOT: ant 폴더
5.4. APP_ANDROID_ROOT: adt 하위 sdk 폴더
5.5. CLASS_PATH: ; - 세미콜론 하나만 두고 비워두는 겁니다. (왠진 모르지만 다른 분이 쓰신 글에 그렇게 적혀있었슴.)
5.6. COCOS2DX_ROOT: cocos2d-x 폴더
5.7. JAVA_HOME: jdk 폴더
5.8. NDK_ROOT: ndk 폴더
5.9. NDK_TOOLCHAIN_VERSION: clang3.4
5.10. Path에 추가- ant폴더\bin;ndk폴더;jdk폴더\bin;
일단 되는 대로 추가합니다. 혹여나 나중에 추가 안해서 고생 보기보다 그냥 조금이라도 사용될 여지가 있는 것들 다 추가합니다.
6. 이클립스 설치. Luna 버전이나 더 최신 버전, 구버전을 사용해도 상관 없습니다.
이클립스에서 CDT와 ADT플러그인 설치:
ADT: Help - Install New Software - Add.. - https://dl-ssl.google.com/android/eclipse/
CDT: Help - Install New Software - Add.. - http://download.eclipse.org/tools/cdt/releases/8.5
적절하게 코어 포함해서 쓸만한 도구까지 추가로 설치합니다.
7. 새 프로젝트 만들기 : 실행- cmd - “cd [cocos2d-x디렉토리]\tools\cocos2d-console\bin”를 치고. "cocos new TempGame1 -p com.ezkorry.game -l cpp -d C:\cocos2dProject" 로 새로운 프로젝트 생성.
TempGame1은 게임 이름을 누르고 com.ezkorry.game은 네임스페이스이고 -l 뒤에 cpp는 사용할 언어를 설정하는 겁니다.
8. 그 프로젝트 폴더에 들어가서 .settings 폴더와 .classpath, .cproject, .project 파일을 압축을 하든 다른 곳으로 복사를 하든 백업해 둡니다.
이클립스가 꼬이면 이 파일폴더를 삭제해야 비로소 제 구실을 하므로 혹시나를 위해 백업을 해두는 겁니다. 정말 꼬이는 것때문에 고생했어요. 이거 백업안해두면 나중에 일일히 인클루드 디렉토리 설정을 해줘야..하는 불상사가..
9. 만든 프로젝트를 이클립스에서 불러오기 (File -> New -> Other.. -> Android Project from Existing Code). 불러오면 자동으로 빌드가 진행됩니다. 조금 기다립시다.
10. "cocos2d-x폴더\cocos\platform\android\java\src\org" 폴더를 복사해서 "프로젝트루트\proj.android\src\org" 로 합치기붙여넣기.
이클립스에서 이걸 안해주면 라이브러리 찾을 수 없다고 징징댑니다. 이 폴더 하위 내용이 왜 빠졌는지는 모르겠지만 어쨌든 수동으로 넣어줍시다.
11. File -> New -> Other에서 C/C++\Convert to a C/C++ Project(Adds C/C++ Nature) 여기 들어가서 목록에 자기 프로젝트가 뜬다면 해줍니다. 안 뜬다면 이 단계는 건너뛰세요. Project type:은 "Makefile project"를 선택하고 Toolchains:는 기본 값인 -- Other Toolchain -- 를 선택해 준다. (할 필요가 없을 수도 있음)
참고: http://bongman.tistory.com/16
단, C/C++ 빌드 셋팅의 빌드 커맨드를 python ${ProjDirPath}/build_native.py -b release 로 함.
12.프로젝트폴더\jni\Application.mk 파일을 수정합니다.
NDK_TOOLCHAIN_VERSION := 4.8
알 수 없는 에러를 고치다가 이걸로 해주니 제대로 작동하더군요. := clang 으로 해줘도 문제는 없을 것 같다만, 왜 =clang으로 되어있는지 모르겠어요.
----
여기까지 왔으면 아래는 입맛 따라 하는 부분입니다. 저는 다른 블로그에서 말하는 권장 설정대로 바꾸어보았습니다.
13. AndroidManifest.xml 파일 변경:
<uses-sdk android:minSdkVersion="9"/> 이거를 <uses-sdk android:minSdkVersion="10" android:targetSdkVersion="14"/>
android:configChanges="orientation" 이거를android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" 요걸로. (screenSize와 smallistScreenSize는 안드로이드 sdk 10에서는 먹히지 않으니까 project.properties 파일에서 타겟을 14이상으로 바꾸자.)
14. project.properties 파일
target=android-14 로 바꾸기.
15.. 이건 지금은 할 필요 없습니다. 나중에 소스코드를 추가할 때 같이 수정해줘야 합니다.
jni/Android.mk 파일
LOCAL_SRC_FILES := hellocpp/main.cpp \
../../Classes/AppDelegate.cpp \
../../Classes/MainScene.cpp \
에 cpp파일 추가하기.
빌드를 하게 되면 다시 기다립시다. 사실 프로젝트 불러올 때 이 과정을 거치는데, 안드로이드 버전 바꾼다고 다시 빌드하는 겁니다. 프로젝트 불러오기 전에 사용할 안드로이드 버전을 바꾼다면 문제 없을 듯합니다.
'프로그래밍' 카테고리의 다른 글
알라딘 상품 API를 이용해 책 정보 넣어보기 (1) | 2015.04.01 |
---|---|
[cocos2d-x] 이클립스 CDT 자동완성 기능이 작동하지 않을 때 (0) | 2015.03.24 |
WURFL.js 을 이용하여 웹 사용자의 기기 정보 얻기 (0) | 2015.01.26 |
[번역] 인텔 아키텍처에서 C++ 안드로이드 앱 빠르게 만들기 (0) | 2015.01.24 |
애드블록(AdBlock)에 대항하는 방법 (15) | 2015.01.24 |