我在为我的android项目上传NDK符号时遇到了一些麻烦。我的项目取决于内部的.jar
,该内部执行一些JNI。它使用 do 使用的.so
文件中带有调试符号(对于{中列出的gdb
文件,我分别用dwarfdump
和.so
进行了验证) {1}}在下面列出)。相关的unstrippedNativeLibsDir
文件看起来像
app/build.gradle
执行firebaseCrashlytics {
nativeSymbolUploadEnabled true
strippedNativeLibsDir 'build/intermediates/stripped_native_libs/prodRelease/out/lib'
unstrippedNativeLibsDir 'build/intermediates/merged_native_libs/prodRelease/out/lib'
}
之后,我可以看到所有文件符号映射文件都已生成并成功上传。但是,在将其放置在周末的crashlytics中并重新查看有效方法后,映射关系主要是错误的,并产生了无法相互调用的事物的堆栈状痕迹。
我和我的同事使用共享的Maven存储库来分发JNI ./gradlew app:uploadCrashlyticsSymbolFileProdRelease --debug
。我没有将.jar
/ .apk
上传到Google Play(我的同事这样做了),但是后来我上传了这些符号以尝试使我们的NDK跟踪正常工作。我认为这不是问题,因为.aab
已经编译并分发给了我们(通过maven存储库中的.so
)。
有什么想法吗?