airbnb/deeplinkdispatch

A simple, annotation-based library for making deep link handling better on Android

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 6 seconds ago
Type:Library / SDKCategory(s):AndroidMobile & Desktop
Added to GitGenius on September 15th, 2026
Created on June 11th, 2015
Open Issues & Pull Requests: 52 (+0)
GitHub issues: Enabled
Number of forks: 414
Total Stargazers: 4,415 (+0)
Total Subscribers: 114 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 61.8 days
Mean response time: 444.7 days
90th percentile: 1309.4 days
Tracked items: 13

Most active contributors

Sign in to see contributor activity.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 3
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 1,733 days
Stale 30+ days: 3
Stale 90+ days: 3

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

No label distribution available yet.

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

DeepLinkDispatch is an annotation-based library for handling deep links on Android.

The library solves the problem of managing deep link routing in Android applications by providing a declarative, annotation-based approach. Developers annotate Activities with @DeepLink and a URI pattern, and the library parses incoming deep links to dispatch them to the appropriate Activity along with any parameters extracted from the URI. The matching process uses only the scheme, host, and path elements of the URI; query parameters are handled separately and made available through callbacks or handlers. For projects using library modules, the tool can automatically generate AndroidManifest.xml entries via Kotlin Symbol Processing, keeping manifest configurations synchronized with annotation definitions.

The tool suits projects that need to manage multiple deep links across Activities or library modules. It is particularly valuable when deep link configurations are complex or spread across multiple modules, as it eliminates the manual burden of maintaining manifest entries. Developers working with library modules benefit from automatic manifest generation, which requires using KSP and specifying the target Activity class in the annotation. The library also supports custom deep link handlers through DeepLinkHandler annotations, allowing conversion of query parameters into typed objects for more sophisticated routing logic.

The project shows consistent maintenance with regular updates addressing both core functionality and build system integration. Development activity includes ongoing refinement of the annotation processor, expansion of type conversion support for query parameters, and improvements to the Gradle plugin that integrates generated manifests into the Android build system. The codebase demonstrates attention to practical concerns like supporting nullable and non-nullable primitive types, accommodating both application and library module contexts, and providing multiple integration patterns for different use cases.