alibaba/arouter

💪 A framework for assisting in the renovation of Android componentization (帮助 Android App 进行组件化改造的路由框架)

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 45 minutes ago
Added to GitGenius on September 4th, 2026
Created on December 14th, 2016
Open Issues & Pull Requests: 2 (+0)
GitHub issues: Enabled
Number of forks: 2,603
Total Stargazers: 14,457 (+0)
Total Subscribers: 366 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 74.2 days
Mean response time: 563.6 days
90th percentile: 1817.0 days
Tracked items: 136

Most active contributors

Sign in to see contributor activity.

Related repositories by overlapping contributors

How this project is maintained

Around half of the issues opened in the past year never receive a reply. Work labelled "compatibility" is answered fastest, typically in about 8 weeks, while "area:runtime" waits about 16 months. Only 1% of issues opened in the past year have been closed. Three people close 99% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 2
New in 7 days: 0
Closed in 7 days: 52
Avg open age: 2,074 days
Stale 30+ days: 0
Stale 90+ days: 0

Recent activity

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

Top labels

  • compatibility (41)
  • bug (38)
  • area:runtime (34)
  • duplicate (28)
  • needs-repro (27)
  • question (待确认) (24)
  • enhancement (新需求) (14)
  • invalid (14)

Detailed Description

ARouter is a routing framework for Android that assists in componentizing applications by enabling decoupled navigation between modules.

The framework solves the problem of tight coupling in multi-module Android applications by providing a centralized routing system that decouples components from each other. It works by allowing developers to annotate Activities, Fragments, and services with route paths, then navigate between them using URLs or direct routing calls. The framework automatically parses standard URLs, injects parameters into target pages, and manages the routing table across multiple modules. It supports interceptors for handling cross-cutting concerns like login checks and analytics, and provides dependency injection capabilities for passing complex objects between components.

Teams building modular Android applications should consider ARouter if they need to decouple components while maintaining type-safe navigation. It suits projects with multiple feature modules that need to communicate without direct dependencies. The framework handles both Activity and Fragment navigation, supports Kotlin fully, and provides an IDE plugin for quick navigation to target classes. It includes features for managing transition animations, handling demotion strategies when routes are unavailable, and generating route documentation.

The project maintains active development with automated build workflows. The codebase includes a custom Gradle plugin for automatically loading routing tables at compile time, which can reduce initialization overhead compared to runtime dex scanning. The framework supports incremental annotation processing to improve build performance. An IDE plugin is available as a separate distribution to assist developers during navigation implementation. The project provides both English and Chinese documentation alongside a demo application showing practical usage patterns.