Crashreport для библиотеки c ++ отсутствует - PullRequest
0 голосов
/ 02 октября 2018

Я настроил build.gradle и Application для работы Crashlytics.Но не в состоянии выяснить, почему код c ++ показывает «отсутствует» и никакой подробной информации (номер строки, стек вызовов).«./gradlew crashlyticsUploadSymbolsdevelopmentRelease» завершается без ошибок.Трассировка стека отчета о сбое Java-кода работает.Только отчет о сбое кода C ++ показывает «отсутствует».

enter image description here «libengine» используется кодом Java через JNI.

build by:
externalNativeBuild {
   cmake {
      path "CMakeLists.txt"
   }
}


my build.gradle:
crashlytics {
    enableNdk true
    androidNdkOut 'build/intermediates/cmake/development/debug/obj'
    androidNdkLibsOut 'build/intermediates/cmake/development/release/obj'
    manifestPath 'src/main/AndroidManifest.xml'
}

1 Ответ

0 голосов
/ 04 октября 2018
    The issue is the wrong path for the obj and lib in build.gradle.
    In my case, the c++ library is built by cmake, i should configure as below for uploading symbol for release build.

    crashlytics {
        enableNdk true
        androidNdkOut 'build/intermediates/cmake/development/release/obj'
        androidNdkLibsOut 'build/intermediates/transforms/stripDebugSymbol/development/release/0/lib'
        manifestPath 'src/main/AndroidManifest.xml'
    }

    #in order to avoid manually run crashlyticsUploadsSymbols
    android.applicationVariants.all { variant ->
        def variantName = variant.name.capitalize()
        if(variant.buildType.name=="release")
        variant.assemble.finalizedBy(project.("crashlyticsUploadSymbols${variantName}"))
    }

    I learned to check if uploading succeed by checking 
~/Library/Caches/com.crashlytics/com.crashlytics.tools/crashlytics.log
...