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.