{"adoption": {"forks": 2603, "observed_at": "2026-08-28T04:11:07.076202+00:00", "stars": 14459}, "canonical_url": "https://ross.abutalabs.com/products/arouter", "card": {"archived": false, "artifact_type": "framework", "description": "💪 A framework for assisting in the renovation of Android componentization (帮助 Android App 进行组件化改造的路由框架)", "domain": ["mobile-development", "android-tools", "developer-tools"], "enriched": true, "function": ["routing", "middleware", "mobile-framework"], "health_score": 20, "homepage": null, "language": "Java", "license": "Apache-2.0", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["alibaba/ARouter"], "name": "alibaba/ARouter", "platform": ["jvm"], "pushed_at": "2023-09-11T06:07:41+00:00", "repo": "alibaba/ARouter", "stars": 14459, "tags": ["android", "componentization", "navigation", "route-mapping", "interceptor", "annotation-processing", "decoupling", "dependency-injection"], "topics": ["android", "router", "navigation", "componentization", "dependency-injection", "interceptor"], "urls": [], "use_cases": ["navigate between activities across modules in an Android app", "route external URLs to internal app pages with parameter parsing", "add login or analytics interceptors to navigation flows", "decouple communication between Android feature modules", "inject parameters into target pages automatically", "manage multi-module Android app componentization"], "what_it_is": "ARouter is an Android routing framework from Alibaba that helps decouple navigation between pages and modules in componentized apps. It supports URL-based jumps, parameter injection, interceptors, dependency injection, and multi-module route management.", "when_to_avoid": ["building a single-module app where simple Intents suffice", "you need Jetpack Navigation with Compose-first architecture", "you need a framework under active development with frequent updates", "targeting non-Android platforms"], "when_to_choose": ["building a large multi-module Android app that needs decoupled navigation", "you need URL-based deep linking into internal pages", "you want interceptors for login, tracking, or A/B logic during navigation", "you need cross-module service discovery via IoC on Android"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/arouter", "repo": "alibaba/ARouter", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:11:07.076202+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:12:32.659464+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bce64e8527dd539851afe5b0e37d9176fea09ebd6758a14e6b2f5c3f7de9eee1", "fetched_at": "2026-08-28T04:11:07.076202+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alibaba/ARouter"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:11:07.076202+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:12:32.659464+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bce64e8527dd539851afe5b0e37d9176fea09ebd6758a14e6b2f5c3f7de9eee1", "fetched_at": "2026-08-28T04:11:07.076202+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alibaba/ARouter"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:12:32.659464+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bce64e8527dd539851afe5b0e37d9176fea09ebd6758a14e6b2f5c3f7de9eee1", "fetched_at": "2026-08-28T04:11:07.076202+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alibaba/ARouter"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:11:07.076202+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:11:07.076202+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:11:07.076202+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:12:32.659464+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bce64e8527dd539851afe5b0e37d9176fea09ebd6758a14e6b2f5c3f7de9eee1", "fetched_at": "2026-08-28T04:11:07.076202+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alibaba/ARouter"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:11:07.076202+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:11:07.076202+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:12:32.659464+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bce64e8527dd539851afe5b0e37d9176fea09ebd6758a14e6b2f5c3f7de9eee1", "fetched_at": "2026-08-28T04:11:07.076202+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alibaba/ARouter"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:11:07.076202+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:11:07.076202+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:11:07.076202+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:12:32.659464+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bce64e8527dd539851afe5b0e37d9176fea09ebd6758a14e6b2f5c3f7de9eee1", "fetched_at": "2026-08-28T04:11:07.076202+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alibaba/ARouter"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:11:07.076202+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:11:07.076202+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:12:32.659464+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bce64e8527dd539851afe5b0e37d9176fea09ebd6758a14e6b2f5c3f7de9eee1", "fetched_at": "2026-08-28T04:11:07.076202+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alibaba/ARouter"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:12:32.659464+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bce64e8527dd539851afe5b0e37d9176fea09ebd6758a14e6b2f5c3f7de9eee1", "fetched_at": "2026-08-28T04:11:07.076202+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alibaba/ARouter"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:12:32.659464+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bce64e8527dd539851afe5b0e37d9176fea09ebd6758a14e6b2f5c3f7de9eee1", "fetched_at": "2026-08-28T04:11:07.076202+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alibaba/ARouter"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:12:32.659464+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bce64e8527dd539851afe5b0e37d9176fea09ebd6758a14e6b2f5c3f7de9eee1", "fetched_at": "2026-08-28T04:11:07.076202+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alibaba/ARouter"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3550, "days_push": 1087, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 23, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}