NHN Cloud > SDK 사용 가이드 > Log & Crash > Android (Symbol Uploader)

사전 준비

  1. Android 프로젝트에 NHN Cloud Logger를 추가합니다.
  2. Android 앱에 네이티브 라이브러리가 포함되어 있는 경우 NHN Cloud Crash Reporter for NDK를 추가합니다.

라이브러리 설정

프로젝트 수준의 build.gradle 파일에 NHN Cloud Gradle Plugin 을 buildscript 의존성 항목으로 추가합니다.

buildscript {
    repositories {
        mavenCentral()
    }

    dependencies {
        // ...

        // Add the NHN Cloud Gradle Plugin
        classpath "com.toast.android:toast-gradle-plugin:0.0.1"
    }
}

앱 수준의 build.gradle 파일에 NHN Cloud Gradle Plugin 을 적용합니다.

// Apply the NHN Cloud Gradle Plugin
apply plugin: 'com.toast.android.toast-services'

mapping.txt 파일 업로드 사용 설정

ProGuard, R8로 코드 난독화가 되어있는 스택 트레이스를 사람이 읽을 수 있는 명료한 코드로 렌더링하기 위해서는 빌드 시 생성된 매핑 파일을 NHN Cloud Log & Crash Search 에 업로드해야합니다. NHN Cloud Gradle Plugin 에는 매핑 파일 업로드를 자동화하는 uploadMappingFile{BUILD_VARIANT} 태스크가 포함되어 있습니다. 이 태스크를 활성화하려면 mappingFileUploadEnabledtrue 로 설정되어 있는지 확인합니다.

매핑 파일 업로드 태스크를 활성화 하려면 앱 수준의 build.gradle 파일에서 mappingFileUploadEnabledtrue 로 설정합니다.

toastServices {
    crashReporter {
        appKey "appKey"
        mappingFileUploadEnabled true
    }
}

Native symbol 파일 업로드 사용 설정

NDK 비정상 종료로 부터 읽기 가능한 스택 트레이스를 생성하려면 NHN Cloud Log & Crash Search 에서 네이티브 바이너리의 심벌에 대해 파악해야합니다. NHN Cloud Gradle Plugin 에는 네이티브 심벌 파일 업로드를 자동화하는 uploadSymbolFile{BUILD_VARIANT} 태스크가 포함되어 있습니다. 이 태스크를 활성화하려면 nativeSymbolUploadEnabledtrue 로 설정되어 있는지 확인합니다.

심 파일 업로드 태스크를 활성화 하려면 앱 수준의 build.gradle 파일에서 nativeSymbolUploadEnabledtrue 로 설정합니다.

toastServices {
    crashReporter {
        appKey "appKey"
        nativeSymbolUploadEnabled true
    }
}

빌드 변형 구성

Build Types 또는 Product Flavors, Variants 구성에 따라 앱키 및 업로드 활성화 여부를 설정할 수 있습니다.

toastServices {
    crashReporter {
        buildTypes {
            debug {
            }
            release {
                mappingFileUploadEnabled true
                nativeSymbolUploadEnabled false
            }
        }
        productFlavors {
            alpha {
                appKey "alphaAppKey"
                serviceZone "ALPHA"
            }
            real {
                appKey "realAppKey"
                serviceZone "REAL"
            }
            staging {
            }
            prod {
            }
        }
        variants {
            realProdRelease.nativeSymbolUploadEnabled = true
        }
    }
}

파일 업로드 태스크 실행

매핑 파일 또는 네이티브 심벌 파일을 NHN Cloud Log & Crash Search 에 업로드하기 위해서는 업로드 태스크를 명시적으로 호출해야 합니다. 예를 들면 다음과 같습니다.

> ./gradlew app:assemble{BUILD_VARIANT}
            app:uploadMappingFile{BUILD_VARIANT}
            app:uploadSymbolFile{BUILD_VARIANT}
TOP