Debug symbols (Beta)
This page documents the beta release of the Bugsee KMP SDK. Tooling and workflows may change before the stable release.
Bugsee needs platform-specific debug symbols to turn mangled or obfuscated stack traces in crash reports into readable function names, file paths, and line numbers. The Bugsee KMP SDK wraps the native Android and iOS SDKs, so debug symbol upload follows the workflow of the underlying native SDK on each platform — there is no KMP-specific upload tool.
Android
Follow the Android symbolication instructions: Android / Crash reports.
In short:
- Add the Bugsee Gradle plugin (
com.bugsee.android.gradle) to your Android app module. When present, it uploads the ProGuard/R8mapping.txtautomatically at build time. - Configure the plugin with the same
appTokenyou pass toBugsee.launch(...)on Android. - If your app ships native
.solibraries, enable NDK symbol collection (ndk true) in the plugin configuration and setdebugSymbolLeveltoSYMBOL_TABLEorFULLfor the relevant build types.
In a typical KMP/Compose Multiplatform project, the plugin is wired into composeApp/build.gradle.kts via the version catalog:
// gradle/libs.versions.toml
//
// [versions]
// bugseeGradle = "x.y.z"
//
// [plugins]
// bugsee-gradle-plugin = { id = "com.bugsee.android.gradle", version.ref = "bugseeGradle" }
// composeApp/build.gradle.kts
plugins {
alias(libs.plugins.androidApplication)
alias(libs.plugins.kotlinMultiplatform)
// ...other plugins...
// Activate the Bugsee Gradle plugin
alias(libs.plugins.bugsee.gradle.plugin)
}
android {
// ...your existing android configuration...
bugsee {
appToken("<your_app_token>")
ndk(true) // upload NDK debug symbols
}
}
Replace <your_app_token> with the same token you pass to Bugsee.launch(...) on Android.
iOS
Follow the iOS symbolication instructions: iOS / Crash symbolication.
Apply these instructions to the iosApp Xcode project — the standalone Xcode project (typically generated by the Compose Multiplatform / KMP project wizard alongside composeApp) that hosts your iOS app and embeds the Kotlin/Native shared framework. The post-action script is added to the iosApp scheme, not to anything in the Gradle/Kotlin layer.
In short:
- Add a
Run Scriptbuild phase to the Post-actions stage of your iOS app's scheme that invokes theBugseeAgenthelper. It finds and uploads dSYMs for your app binary as well as for the Kotlin/Native shared framework. - Pass the same
appTokenyou use to initialize Bugsee on iOS to the script. - Make sure
DEBUG_INFORMATION_FORMATis set todwarf-with-dsymfor the build configurations you want to symbolicate. When integrating via the Kotlin CocoaPods plugin, apply this setting in your Podfilepost_installhook so that all Pod targets — including the Bugsee pod — generate dSYMs.