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
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@

## Unreleased

### Fixes

- Android tombstone parsing via `AndroidTombstoneEnabled` no longer fails with `NoClassDefFoundError`. The SDK now ships with its `epitaph` dependency. If you added `com.abovevacant:epitaph` to your Gradle template as a workaround, remove it to avoid duplicate classes. ([#2879](https://github.com/getsentry/sentry-unity/pull/2879))

### Features

- Added the `NativeHandlerPath` option. It sets `handler_path` on the native SDK, so the out-of-process crash handler can be placed somewhere other than next to the player executable. Left unset, sentry-native keeps looking for the handler next to the executable as before. ([#2881](https://github.com/getsentry/sentry-unity/pull/2881))
Expand Down
15 changes: 15 additions & 0 deletions build/native-sdks.targets
Original file line number Diff line number Diff line change
Expand Up @@ -330,6 +330,21 @@
<Error Condition="!Exists('$(SentryNativeNdkLocalAar)')" Text="sentry-native-ndk-release.aar not produced at $(SentryNativeNdkLocalAar). PublishNativeNdkLocal may have failed." />
<Copy SourceFiles="$(SentryNativeNdkLocalAar)" DestinationFiles="$(SentryAndroidArtifactsDestination)sentry-native-ndk-release.aar" />

<!-- sentry-android-core parses tombstones with epitaph, a Maven dependency that local AARs don't
pull in. Ship the jar resolved by the Gradle build above; Unity picks up `libs/*.jar`.
CI starts with an empty Gradle cache, so the only cached version is the one sentry-java resolved. -->
<PropertyGroup>
<GradleUserHome>$(GRADLE_USER_HOME)</GradleUserHome>
<GradleUserHome Condition="'$(GradleUserHome)' == ''">$([System.Environment]::GetFolderPath(SpecialFolder.UserProfile))/.gradle</GradleUserHome>
<EpitaphCacheDir>$(GradleUserHome)/caches/modules-2/files-2.1/com.abovevacant/epitaph/</EpitaphCacheDir>
</PropertyGroup>
<ItemGroup>
<EpitaphJar Include="$(EpitaphCacheDir)*/*/epitaph-*.jar" Exclude="$(EpitaphCacheDir)**/*-sources.jar" />
</ItemGroup>
<Error Condition="@(EpitaphJar->Count()) == 0" Text="epitaph jar not found in the Gradle cache at $(EpitaphCacheDir). The Gradle build likely failed." />
<Error Condition="@(EpitaphJar->Count()) &gt; 1" Text="Multiple epitaph jars cached in $(EpitaphCacheDir). Delete that directory and rebuild." />
<Copy SourceFiles="@(EpitaphJar)" DestinationFiles="$(SentryAndroidArtifactsDestination)epitaph.jar" />

<Error Condition="!Exists('$(SentryAndroidArtifactsDestination)')" Text="Failed to set up the Android SDK." />
</Target>

Expand Down
1 change: 1 addition & 0 deletions test/Scripts.Tests/package-release.zip.snapshot
Original file line number Diff line number Diff line change
Expand Up @@ -275,6 +275,7 @@ Plugins/Linux/Sentry~/libsentry-native.so
Plugins/Linux/Sentry~/libsentry.dbg.so
Plugins/Android/proguard-sentry-unity.pro
Plugins/Android/proguard-sentry-unity.pro.meta
Plugins/Android/Sentry~/epitaph.jar
Plugins/Android/Sentry~/sentry-android-core-release.aar
Plugins/Android/Sentry~/sentry-android-ndk-release.aar
Plugins/Android/Sentry~/sentry-native-ndk-release.aar
Expand Down
Loading