[英]Android Crashlytics ndk; values of NdkOut and NdkLibsOut in build.gradle
我已將Crashlytics, Fabric集成到我的應用程序中,成功報告了與sdk相關的崩潰。
對於ndk部分,我已按照博客的說明進行操作; 等待結束:為Android NDK啟動Crashlytics ,但沒有報告ndk崩潰。 我的疑問是,因為其他部分足夠清楚,我沒有為androidNdkOut
和androidNdkLibsOut
提供正確的路徑,如下所示:
懷疑和問題在我的build.gradle
,在這里......
crashlytics {
enableNdk true
androidNdkOut //what would be the obj here?
androidNdkLibsOut 'src/main/jniLibs' //path for my jni libraries
}
如果我要發布代碼的任何其他部分,請告訴我
編輯/更新2017年7月7日
來自Fabric團隊的Matt對此答案進行了更新 - 我們剛剛發布了Fabric Gradle插件版本1.23.0,其中包括支持在使用帶有Gradle版本的Android插件的externalNativeBuild
DSL時自動檢測相應的本機庫路徑2.2.0+,所以你不再需要設置androidNdkOut
和androidNdkLibsOut
屬性。 這適用於CMake和ndk-build
。 在這里查看更多信息: https : //docs.fabric.io/android/crashlytics/ndk.html#specifying-the-path-to-debug-and-release-binaries
我可以在獲得Crashlytics / Fabric Support的幫助后解決問題,感謝他們......這個答案。
首先,為
crashlytics {
enableNdk true
androidNdkOut //what would be the obj here?
androidNdkLibsOut 'src/main/jniLibs' //path for my jni libraries
}
對於我的應用程序的build.gradle
,應該是:
crashlytics {
enableNdk true
androidNdkOut 'src/main/jniLibs'
androidNdkLibsOut 'src/main/jniLibs'
}
androidNdkOut是調試二進制文件所在的位置。 默認為'src / main / obj',但如果項目中的不同,您可以在crashlytics {}中設置。
一個包含相同信息的鏈接: crashlytics知識庫; 原生崩潰中缺少行號
一個次要但非常有用的部分是使用--stacktrace
選項運行uploadReleaseSymbols
之--stacktrace
命令。 認為值得一提的是(上傳發布符號)也是我沒有收到崩潰報告的問題。
請遵循本指南 - https://fabric.io/downloads/gradle/ndk 。 我們保持兩個字段為空(androidNdkOut和NdkLibsOut)
有類似的問題:我必須在Fabric.with()中添加CrashlyticsNdk
工具包。
Fabric fabric = new Fabric.Builder(context)
.kits(new Twitter(authConfig), new Crashlytics(), new CrashlyticsNdk())
.debuggable(true)
.build();
Fabric.with(fabric);
你可以androidNdkLibsOut
這種方式檢查androidNdkOut
, androidNdkLibsOut
。
$ ./gradlew -d clean assemble{Flavor} | grep ndk-build
你會發現NDK_OUT
和NDK_LIBS_OUT
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.