이 개발자 가이드에서는 Google Play 게임즈 서비스 API를 사용하는 Android에서 C++ 게임을 컴파일하고 실행하는 방법을 보여줍니다. 시작하기 전에 다음 요구사항을 다운로드하여 구성합니다.
- Android NDK, 버전 14 이상
- Android SDK v10 이상 및 최신 버전의 Eclipse ADT
- 기기는 Android 4.0 (API 수준 14) 이상을 실행해야 합니다.
- 최신 버전의 Google Play 서비스 SDK
이 개발자 가이드에서는 Android Native Development Kit (NDK)를 사용합니다. NDK에 익숙하지 않은 경우 계속하기 전에 NDK 문서 및 샘플을 참고하세요.
1단계: 환경 설정
- Android SDK와 Android NDK를 다운로드하여 컴퓨터에 추출합니다. 환경에서
SDK_ROOT
를 Android SDK 폴더의 위치로,NDK_ROOT
를 Android NDK 폴더의 위치로 설정합니다. - C++ 샘플 게임을 다운로드합니다. 이 개발자 가이드에서는 머신에 있는 샘플의 위치를
SAMPLES_DIR
로 지칭합니다. - Google Play 게임즈 서비스 C++ SDK를 다운로드합니다. 개발 머신에 SDK를 추출합니다. 환경에서
NDK_MODULE_PATH
변수를gpg-cpp-sdk
디렉터리 위의 디렉터리를 가리키도록 설정합니다. 다음과 같은 디렉터리 구조가 만들어집니다.NDK_MODULE_PATH/ gpg-cpp-sdk/
- Eclipse를 엽니다. 아직 NDK를 설치하지 않았다면 Preferences > Android > NDK를 클릭하여 NDK를 설치한 위치를 Eclipse에 알려줍니다.
Google Play 서비스 라이브러리 프로젝트를 Eclipse 작업 영역으로 가져옵니다.
- Eclipse에서 File > Import > Android > Existing Android Code into Workspace를 클릭합니다.
SDK_ROOT/extras/google/google_play_services/libproject/google-play-services_lib
를 선택합니다. 여기서SDK_ROOT
는 Android SDK의 위치입니다.- Finish를 클릭합니다.
최소한의 샘플 프로젝트를 Eclipse 작업공간으로 가져옵니다.
- Eclipse에서 File > Import > Android > Existing Android Code into Workspace를 클릭합니다.
SAMPLES_DIR/samples-android/minimalist
을 선택합니다.- Finish를 클릭합니다.
MinimalistActivity 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 Properties를 클릭합니다. Android에서 라이브러리 섹션으로 스크롤하여 google-play-services_lib 프로젝트가 올바르게 참조되는지 확인합니다. 그렇지 않으면 참조를 삭제하고 워크스페이스에서 다시 추가합니다.
Eclipse는 프로젝트의 Java 및 Android 소스를 자동으로 컴파일하지만 jni
폴더의 네이티브 코드는 별도로 컴파일해야 합니다. 수동으로 하려면 jni
폴더로 이동하여 ndk-build
를 실행합니다. jni
폴더 내에서 변경한 후에는 이 작업을 실행해야 합니다.
이제 프로젝트가 컴파일되지만 아직 작동하지는 않습니다. 먼저 Google Play Console에서 게임을 구성해야 합니다.
2단계: Google Play Console에서 게임 설정하기
Google Play Console에서 게임의 항목을 생성합니다. 그러면 애플리케이션에서 게임 서비스가 활성화되고 OAuth 2.0 클라이언트 ID가 아직 없는 경우 새로 생성됩니다.
- Google Play 게임즈 서비스 설정하기에 설명된 단계에 따라 게임의 항목을 만듭니다.
AndroidManifest.xml
에서<manifest>
태그의package
속성을 Google Play Console을 설정할 때 선택한 패키지 이름으로 변경합니다. 이 변경사항을 적용한 후 프로젝트 전체에서 일부 참조 (특히 생성된R
클래스)를 수정해야 할 수 있습니다.res/values/ids.xml
를 열고 앱 ID를 입력합니다. 앱 ID는 클라이언트 ID와 다릅니다. 앱 ID는 Google Play Console의 게임 세부정보 페이지에 있는 게임 이름 옆에 있는 숫자입니다.
3단계: 샘플 실행
샘플을 실행하려면 실제 Android 기기 또는 Google Play 서비스가 설치된 에뮬레이터가 필요합니다.
ndk-build
를 실행하여 네이티브 코드를 컴파일합니다.- Eclipse에서 Run > Run As > Android Application을 클릭하고 기기에서 샘플을 실행합니다.
- 샘플이 열리면 화면의 아무 곳이나 탭합니다. Google Play 게임즈 로고가 표시됩니다. 앱이 올바르게 구성되면 로그인하라는 메시지가 표시됩니다.
선택사항: Eclipse로 자동 빌드
다음 단계에서는 jni
폴더의 파일을 변경할 때 ndk-build
를 자동으로 실행하도록 Eclipse를 구성하는 방법을 보여줍니다.
- MinimalistActivity 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 Properties를 클릭합니다. 속성 창에서 빌더 창을 선택합니다.
- 새로 만들기를 클릭하여 새 빌더를 추가하고 프로그램을 선택한 다음 확인을 클릭합니다.
- 이름 필드에 'NDK 빌더'를 입력합니다.
- 위치에서 파일 시스템 찾아보기를 클릭하고
NDK_ROOT
디렉터리로 이동하여ndk-build
명령어를 선택합니다. - 작업 디렉터리에서 작업공간 둘러보기를 클릭하고 MinimalistActivity 프로젝트 폴더를 선택합니다.
- 새로고침 탭을 클릭합니다. 완료 시 리소스 새로고침 체크박스가 선택되어 있는지 확인합니다.
- 특정 리소스 라디오 버튼을 선택한 다음 리소스 지정을 클릭합니다. 표시되는 대화상자에서 MinimalActivity 아래의
jni
폴더를 선택합니다. - Apply(적용)를 클릭한 다음 OK(확인)를 클릭하여 빌더 만들기를 완료합니다.
이제 jni
폴더 내에서 파일을 수정할 때마다 Eclipse에서 ndk-build
를 실행하고 출력을 Eclipse Console에 출력합니다.