【发布时间】:2018-01-14 09:59:37
【问题描述】:
我正在尝试为使用 NDK/JNI 的项目实施 Crashlytics。然而,JNI 部分是在一个外部加载的项目中,就像settings.gradle:
include ':app', ':core'
project (':core').projectDir = new File(rootDir, '../core')
我读到一段时间以来,Crashlytics 应该会自动找到符号,而无需指定 androidNdkOut 和 androidNdkLibsOut。它不适用于我的场景,当我调用 ./gradlew crashlyticsUploadSymbols{flavor}Debug 时它抱怨错误的 androidNdkOut。
所以我在应用程序的build.gradle 中明确添加了这些路径:
crashlytics {
enableNdk true
androidNdkOut '../../core/build/intermediates/cmake/debug/obj'
androidNdkLibsOut '../../core/build/intermediates/cmake/release/obj'
manifestPath 'src/main/AndroidManifest.xml'
}
Crashlytics 现在确实找到了它们,crashlyticsUploadSymbols{flavor}Debug 返回成功。但它不能正常工作。一些错误在 Crashlytics 控制台中根本没有报告,其余的没有去混淆。 Crashlytics 在 logcat 中也显示了类似的内容:
W/CrashlyticsCore: No minidump data found in directory /data/data/com.example.app/files/.Fabric/com.crashlytics.sdk.android.crashlytics-ndk/native/1513601249792
我应该如何配置才能在 Crashlytics 控制台中正确记录 NDK 异常?
【问题讨论】:
标签: android android-ndk java-native-interface crashlytics crashlytics-android