Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions docs/ai/agent-skills/sdk/kmp/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -204,7 +204,7 @@ In a typical KMP/Compose Multiplatform project, wire the Bugsee Gradle plugin in
// gradle/libs.versions.toml
//
// [versions]
// bugseeGradle = "4+"
// bugseeGradle = "x.y.z" // plugin line paired with the native SDK this KMP release wraps — see release notes
//
// [plugins]
// bugsee-gradle-plugin = { id = "com.bugsee.android.gradle", version.ref = "bugseeGradle" }
Expand All @@ -224,13 +224,13 @@ android {

bugsee {
appToken("<your_app_token>")
ndk {
enabled.set(true) // upload NDK debug symbols (only if your app ships native libraries)
}
ndk(true) // upload NDK debug symbols (only if your app ships native libraries)
}
}
```

> **Note:** The Gradle plugin line must match the native Android SDK this KMP release wraps. Check the [KMP release notes](https://docs.bugsee.com/sdk/kmp/release-notes/) for the wrapped SDK version, then pick the paired plugin line from [Gradle plugin — Requirements & compatibility](https://docs.bugsee.com/sdk/android/gradle-plugin/requirements/). The NDK syntax differs by line: plugin 4.x takes a nested block (`ndk { enabled.set(true) }`), earlier lines take the boolean `ndk(true)` shown above. Using the nested block on a line that expects the boolean fails to compile with `Type mismatch: inferred type is () -> Unit but Boolean was expected`.

The plugin uploads the ProGuard/R8 `mapping.txt` automatically at build time.

### iOS
Expand Down
22 changes: 17 additions & 5 deletions docs/sdk/kmp/debug-symbols.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,15 +19,29 @@ In short:

- Add the Bugsee Gradle plugin (`com.bugsee.android.gradle`) to your Android app module. When present, it uploads the ProGuard/R8 `mapping.txt` automatically at build time.
- Configure the plugin with the same `appToken` you pass to `Bugsee.launch(...)` on Android.
- If your app ships native `.so` libraries, enable NDK symbol collection (`ndk { enabled.set(true) }`) in the plugin configuration and set `debugSymbolLevel` to `SYMBOL_TABLE` or `FULL` for the relevant build types.
- If your app ships native `.so` libraries, enable NDK symbol collection (`ndk(true)`) in the plugin configuration and set `debugSymbolLevel` to `SYMBOL_TABLE` or `FULL` for the relevant build types.

:::note[Match the plugin line to the wrapped native Android SDK]
The Bugsee KMP SDK wraps a specific native Android SDK release — see the [KMP release notes](/sdk/kmp/release-notes/) for which one, then pick the Gradle plugin line paired with it in [Gradle plugin — Requirements & compatibility](/sdk/android/gradle-plugin/requirements/).

The NDK configuration syntax differs between plugin lines. Plugin **4.x** takes a nested block:

```kotlin
ndk {
enabled.set(true)
}
```

Earlier plugin lines take the boolean form `ndk(true)` used in the example below. Using the nested block on a plugin line that expects the boolean fails to compile with `Type mismatch: inferred type is () -> Unit but Boolean was expected`.
:::

In a typical KMP/Compose Multiplatform project, the plugin is wired into `composeApp/build.gradle.kts` via the version catalog:

```kotlin
// gradle/libs.versions.toml
//
// [versions]
// bugseeGradle = "x.y.z"
// bugseeGradle = "x.y.z" // plugin line paired with the native SDK this KMP release wraps
//
// [plugins]
// bugsee-gradle-plugin = { id = "com.bugsee.android.gradle", version.ref = "bugseeGradle" }
Expand All @@ -48,9 +62,7 @@ android {

bugsee {
appToken("<your_app_token>")
ndk {
enabled.set(true) // upload NDK debug symbols
}
ndk(true) // upload NDK debug symbols
}
}
```
Expand Down