게임 개발/Cocos2d-x

cocos2d-x 3.16 에서 구글 인앱빌링 AIDL 추가

날개 2018. 4. 6. 23:33

개발 환경

맥OS X High Sierra / Android Studio 3.1 / cocos2d-x 3.16




지금 cocos2d-x (버전 3.16) 을 사용하여 게임 개발 작업을 하면서, 인앱 빌링을 사용하기 위해 작업중입니다.


구글의 공식문서를 통해 인앱 빌링을 추가하려고 하니, AIDL을 프로젝트에 추가해야 한다고 합니다.


https://developer.android.com/google/play/billing/billing_integrate.html


먼저, 현 시점 구글의 한글 문서 (https://developer.android.com/google/play/billing/billing_integrate.html)는 사용할 수 없습니다. 


지금 사용하고 있는 안드로이드 스튜디오 3.1의 SDK Manager 에는 extra탭과 Google Play Billing Library이 존재하지 않습니다.


위에 링크한 영문문서가 더 최신인것 같습니다. 영문 문서에서는 문서의 링크에 있는 샘플앱을 다운로드 받으면 들어 있는  IInAppBillingService.aidl 파일을 복사하여 사용하도록 안내되어 있습니다.


문서에는 아래와 같은 방법으로 추가하도록 안내되어 있죠.


a. src/main 밑에 aidl 폴더를 만든다.

b. com.android.vending.billing 패키지를 이 디렉터리에 생성한다.

c. IInAppBillingService.aidl 파일을 이 패키지에 임포트한다.


문제는 cocos2d-x 3.16 에서 생성한 프로젝트의 안드로이드 스튜디오 프로젝트에는 src/main 이라는 폴더가 없다는 것이죠.


src 폴더에는 org폴더만 존재 합니다. (보통 안드로이드 프로젝트는 src/main  밑에 프로젝트 자바 패키지가 들어가지만, 코코스2dx 3.16은 src 폴더에 바로 프로젝트 자바 패키지가 들어갑니다.)


여러번 시도한 결과 방법은 간단했습니다. 그냥 main 폴더를 src 밑에 하나 만들어 주면 됩니다. (허무... ㅡㅡ)



1. src 밑에 main/aidl 폴더를 만든다.



그러면 위와 같이 안드로이드 스튜디오 프로젝트 창에서 aidl 이 보입니다.


2. aidl을 오른쪽 클릭해서 com.android.vending.billing 패키지 추가


[오른쪽 클릭 -> New -> Package ]


3. 샘플앱에 들어 있는 IInAppBillingService.aidl 파일을 src/main/com.android.vending.billing 에 복사


4. 빌드


빌드 하고 나면, proj.andorid-studio/app/build/generated/source/aidl/debug/com/android/vending/billing 폴더에 IInAppBillingService.java 파일이 생성되어 있어야 정상적으로 추가 된 것입니다.



사실 간단한건데, cocos2d-x 프로젝트의 경우 일반적인 구성과는 다른 부분들이 종종 있기 때문에 헤매게 되는 경우가 많은것 같습니다.






(C) 2018 WingsNote.com (무단 복제 및 게시 금지, 링크 허용)