我的项目是一个简单的Android游戏,带有本机C ++代码和Java,它使用cmake编译C / C ++代码。我将本机符号上载到Firebase Crashlytic(Fabric之前)以捕获崩溃。我发现了一个特定的问题:如果我对C / C ++代码使用lld链接器,则Crashlytic不会显示我的应用程序的任何堆栈跟踪。
这里是我设置为使用LLD set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -fuse-ld=lld")
的配置我用crashlyticUploadSymbolsDebug
上传符号日志上传非常安静。
2020-03-23 15:02:03.664 [DEBUG] (Execution worker for ':') com.crashlytics - Crashlytics attempting to upload cSYM files.
2020-03-23 15:02:03.669 [DEBUG] (Execution worker for ':') com.crashlytics - POST file: C:\Users\nhut_\.crashlytics\com.crashlytics.tools\app-f5c61bd8c0ab9f7beacd8e312f884ac1970c43e5\debug\csyms\Breakout-aarch64-2cbd7a2add29f8fbff897f89c43ea0d93088c11f.cSYM.gz to URL: https://cm.crashlytics.com/api/v3/platforms/android/code_mappings
2020-03-23 15:02:03.983 [DEBUG] (Execution worker for ':') com.crashlytics - POST response: [reqId=c8949d54f956c305a08f1744dabdd9b226b494443224707e] 202
2020-03-23 15:02:03.984 [DEBUG] (Execution worker for ':') com.crashlytics - POST file: C:\Users\nhut_\.crashlytics\com.crashlytics.tools\app-f5c61bd8c0ab9f7beacd8e312f884ac1970c43e5\debug\csyms\Breakout-aarch64-b0e07c6b9715755bb3b1d881aefe1777a7dcca11.cSYM.gz to URL: https://cm.crashlytics.com/api/v3/platforms/android/code_mappings
2020-03-23 15:02:04.235 [DEBUG] (Execution worker for ':') com.crashlytics - POST response: [reqId=65ed22d3d2111a7dadc5b61109f7d7664dcd86ba58579c9f] 202
2020-03-23 15:02:04.236 [DEBUG] (Execution worker for ':') com.crashlytics - cSYM file(s) uploaded.
您是否知道如何解决此问题?
我的操作系统是Windows 10 1909 64bit, Android Studio 3.5.1, android-ndk-r21
测试的设备是Pixel 3。
感谢您抽出宝贵的时间阅读和建议。我发现类似的问题是here,但直到现在还没有答案
我们仍在使用r20 NDK,并且与-fuse-ld = lld一起使用时,本机Crashlytics出现了问题,因此我们只是停止使用它,现在一切都很好。