본문 바로가기
모바일/모바일 개발

AOS | Cocos2d-x

by KISCH 2020. 3. 5.
반응형



개념



cocos2d-objC

cocos2d-iPhone
cocos2d-swift : cocos2d-iPhone 업그레이드 버전
cocos2d-android : spriteBuilder를 통해 안드로이드 포팅

cocos2d-x :
ccocosBuilder : 지원 중지
spriteBuilder : cocosBuilder 업그레이드 버전

JNI : 자바와 C/C++연동을 위한 규약 (NDK 필요)


Cocos2d-x





설치


❛ 맥


ios(Xcode로 개발), aos(eclipse로 개발 : 안드로이드 스튜디오는 아직 지원 미흡)


❛ 설치 목록


- Xcode

- Eclipse : 리눅스 개발 툴. 맥용 64bits C/C++ 버전

- NDK : Java로 개발 시 C, C++같은 언어를 사용할 수 있게 해주는 개발 킷 


- ADT : 이클립스에 추가 설치시 안드로이드 프로그래밍 가능

Eclipse-Help - Install New Software 에서 안드로이드 플러그인 설치(https://dl-ssl.google.com/android/eclipse)


- SDK : http://developer.android.com/sdk/index.html

Window-Preferences-Android

Android SDK Manager : Window-Customize Perspective-Command Groups Availability-Android SDK and AVD Manager

AVD : Android Virtual Device 안드로이드폰 에뮬레이터


- Apache Ant : 자바 기반의 빌드 자동화 도구


- cocos2d-x : 3.6

python setup.py

템플릿 설치 : ./install-templates-xcode.sh (2.2버전부터 템플릿 설치 불가)


- JDK : 맥 기본으로 설치 되어 있으나 버전이 안맞는 경우 업데이트 필요


❛ 비설치 (MAC)


Python : 2.7 이상. 인터프리터 개발 언어 (맥 기본 탑재), 버전체크 python --version

Cygwin : NDK를 이용해서 cocos2d-x 엔진을 빌드하기 위한 유닉스 개발 환경. 컴파일러

JNI : 자바 가상머신 안에 포함되어 Java와 다른 언어간에 유기적으로 동작할 수 있게 만들어진 API(응용프로그램 인터페이스)


❛ .bash_profile (사용자 계정에서 환경을 설정해주는 파일. 홈 디렉토리에 존재)


nano .bash_profile

source ~/.bash_profile

echo $PATH : 설정 된 패스 보기



통합프로젝트



❛ FlowChart


안드로이드 : cpp Xcode 수정 -> 빌드 ./build_native.py -> 이클립스 run (디바이스 정보, 빌드번호 여러번, 개발자 옵션, usb 디버깅 모드로 전환)


1. 프로젝트 생성 

create_project.py : 멀티 플랫폼 프로젝트 생성 시 쓸데없는 플랫폼도 같이 생성되므로 수동으로

2. 아이폰 : cocos run -s xxx -p ios

3. 안드로이드 : cocos run -s xxx -p android (./build_naive.sh 와의 차이???)


❛ Android


- Eclipse에서 프로젝트 import

- 프로젝트 Properties - Jave Build Path - Source - Link Source 에 cocos2dx/cocos/platfrom/android/java/src

- ./build_native.sh : NDK를 이용해서 소스파일을 so파일로 컴파일

- 기기 연결

1. 디바이스 정보 - 빌드번호 누르면 개발자 옵션 - usb 디버깅, usb 디버깅 권한 승인 취소 체크

2. 미디어 기기로 연결 - 미디어 기기 체크

3. 프로젝트 선택 - run - run as - android application



트러블 슈팅



1. Shell

- sudo 권한 재설정

export PATH=/usr/bin:/usr/sbin:/bin:/usr/local/bin:/sbin:/opt/x11/bin:$PATH


- Exception("Build dynamic library for project") 문제

프로젝트 내의 obj의 폴더 삭제 후 재빌드


2. 이클립스

- loading data for android 5.0.1 has encountered a problem

jdk 1.8 설치


- Cocos2dxActivity cannot be resolved to a type 문제

proj.android/src 에 org/cocos2dx 없으면cocos2d-2.0-x-2.0.4/cocos2dx/platform/android/java/src/ 안의 org폴더 복사


3. Xcode

- 새 프로젝트 후 디바이스에서 테스트 안 될 때

new scheme - 프로젝트명 ios 추가



반응형

댓글