Keywords
License
- MIT
- Yesattribution
- Permissivelinking
- Permissivedistribution
- Permissivemodification
- Nopatent grant
- Yesprivate use
- Permissivesublicensing
- Notrademark grant
Readme
Bad software is everywhere, and we’re tired of it. Sentry is on a mission to help developers write better software faster, so we can get back to enjoying technology. If you want to join us Check out our open positions
Sentry SDK for Java and Android
Packages Maven Central Minimum Android API Version sentry-android 21 sentry-android-core 21 sentry-android-ndk 21 sentry-android-timber 21 sentry-android-fragment 21 sentry-android-navigation 21 sentry-android-sqlite 21 sentry-android-replay 26 sentry-compose-android 21 sentry-compose-desktop sentry-compose sentry-apache-http-client-5 sentry 21 sentry-jul sentry-jdbc sentry-apollo 21 sentry-apollo-3 21 sentry-kotlin-extensions 21 sentry-servlet sentry-servlet-jakarta sentry-spring-boot sentry-spring-boot-jakarta sentry-spring-boot-starter sentry-spring-boot-starter-jakarta sentry-spring sentry-spring-jakarta sentry-logback sentry-log4j2 sentry-bom sentry-graphql sentry-graphql-core sentry-graphql-22 sentry-quartz sentry-openfeign sentry-opentelemetry-agent sentry-opentelemetry-agentcustomization sentry-opentelemetry-core sentry-okhttp
Releases
This repo uses the following ways to release SDK updates:
Pre-release
: We create pre-releases (alpha, beta, RC,…) for larger and potentially more impactful changes, such as new features or major versions.Latest
: We continuously release major/minor/hotfix versions from themain
branch. These releases go through all our internal quality gates and are very safe to use and intended to be the default for most teams.Stable
: We promote releases fromLatest
when they have been used in the field for some time and in scale, considering time since release, adoption, and other quality and stability metrics. These releases will be indicated on the releases page (https://github.com/getsentry/sentry-java/releases/) with theStable
suffix.
Useful links and docs
- A deep dive into how we built Session Replay for Android at Droidcon London 2024.
- Current Javadocs generated from source code.
- Java SDK version 1.x can still be found here.
- Migration page from sentry-android 1.x and 2.x to sentry-android 4.x.
- Migration page from sentry 1.x to sentry 4.x.
- Releases from sentry-android 2.x and its changelogs.
- Sentry Android Gradle Plugin repo sits on another repo
Blog posts
- Sentry’s Android Gradle Plugin Updated with Room Support and More
- Troubleshooting Spring Boot applications with Sentry
- Android Manifest Placeholders
- UI Breadcrumbs for Android Error Events
- Bytecode transformations: The Android Gradle Plugin
- Sentry’s response to Log4j vulnerability CVE-2021-44228
- Mobile Vitals - Four Metrics Every Mobile Developer Should Care About.
- Supporting Native Android Libraries Loaded From APKs.
- A Sanity Listicle for Mobile Developers.
- Performance Monitoring for Android Applications.
- Close the Loop with User Feedback.
- How to use Sentry Attachments with Mobile Applications.
- Adding Native support to our Android SDK.
- New Android SDK How-to.
Samples
- Sample App. with Sentry Android SDK and Sentry Gradle Plugin.
- Sample App. with Sentry Java SDK.
- Sample for Development.
Development
This repository includes sentry-native
as a git submodule.
To build against sentry-native
checked-out elsewhere in your file system, create a symlink sentry-android-ndk/sentry-native-local
that points to your sentry-native
directory.
For example, if you had sentry-native
checked-out in a sibling directory to this repo:
ln -s ../../sentry-native sentry-android-ndk/sentry-native-local
which will be picked up by gradle
and used instead of the git submodule.
This directory is also included in .gitignore
not to be shown as pending changes.
Sentry Self Hosted Compatibility
Since version 3.0.0 of this SDK, Sentry version >= v20.6.0 is required. This only applies to self-hosted Sentry, if you are using sentry.io no action is needed.
Since version 6.0.0 of this SDK, Sentry version >= v21.9.0 is required or you have to manually disable sending client reports via the sendClientReports
option. This only applies to self-hosted Sentry, if you are using sentry.io no action is needed.
Since version 7.0.0 of this SDK, Sentry version >= 22.12.0 is required to properly ingest transactions with unfinished spans. This only applies to self-hosted Sentry, if you are using sentry.io no action is needed.