cocos2d-x 3.17.1
AndroidStudio 3.4.1
Firebase C++ SDK 다운로드
링크 -> Add Firebase C++ SDKs
다운받은 sdk를 압축을 풀고 아래의 경로로 가져옵니다.
gradle.properties 수정
systemProp.firebase_cpp_sdk.dir=D\:\\Development\\gonefashion_android\\firebase_cpp_sdk
setting.gradle 수정
def firebase_cpp_sdk_dir = System.getProperty('firebase_cpp_sdk.dir')
gradle.ext.firebase_cpp_sdk_dir = "$firebase_cpp_sdk_dir"
includeBuild "$firebase_cpp_sdk_dir"
공식 가이드의 5단계 4번 수정
Android Studio(3.4.1)과 소스가 조금 다릅니다. 당황스러웠지만 여러번 본 후에 찾을 수 있었습니다.
아래는 공식 가이드의 소스입니다.
official-guide
android.defaultConfig.externalNativeBuild.cmake {
arguments "-DFIREBASE_CPP_SDK_DIR=$gradle.firebase_cpp_sdk_dir"
}
apply from "$gradle.firebase_cpp_sdk_dir/Android/firebase_dependencies.gradle"
firebaseCpp.dependencies {
analytics
}
위 소스와 비슷한 부분이 아래 cmake{}입니다.
cmake{}의 arguments부분의 끝에 "-DFIREBASE_CPP_SDK_DIR=$gradle.firebase_cpp_sdk_dir"
를 추가합니다.
apply from..
이 부분은 에러가 발생해서 적용하지 못했습니다.
build.gradle(Module-gonefashion_android)
externalNativeBuild {
if (PROP_BUILD_TYPE == 'ndk-build') {
}
else if (PROP_BUILD_TYPE == 'cmake') {
cmake {
targets 'MyGame'
arguments "-DCMAKE_FIND_ROOT_PATH=", "-DANDROID_STL=c++_static", "-DANDROID_TOOLCHAIN=clang", "-DANDROID_ARM_NEON=TRUE", "-DFIREBASE_CPP_SDK_DIR=$gradle.firebase_cpp_sdk_dir"
cppFlags "-frtti -fexceptions -fsigned-char"
}
}
}
CMakeLists.txt 수정
애드몹 사용을 위해 firebase_admob
추가함.
CMakeLists.txt
# Add the Firebase libraries to the target using the function from the SDK.
add_subdirectory(${FIREBASE_CPP_SDK_DIR} bin/ EXCLUDE_FROM_ALL)
# Note that firebase_app needs to be last in the list.
set(firebase_libs firebase_admob firebase_app)
target_link_libraries(${APP_NAME} "${firebase_libs}" ${ADDITIONAL_LIBS})
adMob 샘플 소스 링크
공식 가이드 Cocos2d-x의 설명이 부족하다고 느꼈는데 바로 이 샘플소스를 제공하고 있기 때문이었다.
github 샘플 소스 -> cocos2dx-cpp-sample