{"adoption": {"forks": 369, "observed_at": "2026-08-28T04:04:07.635806+00:00", "stars": 1248}, "canonical_url": "https://ross.abutalabs.com/products/androidsource", "card": {"archived": false, "artifact_type": "learning-resource", "description": "android framework层源码解析，不定时更新哈", "domain": ["mobile-development", "tutorials", "operating-systems"], "enriched": true, "function": ["documentation", "developer-tools"], "health_score": 20, "homepage": null, "language": null, "license": null, "license_family": "other", "maturity": "abandoned", "member_repos": ["yipianfengye/androidSource"], "name": "yipianfengye/androidSource", "platform": [], "pushed_at": "2018-03-16T09:43:20+00:00", "repo": "yipianfengye/androidSource", "stars": 1248, "tags": ["android-framework", "source-code-analysis", "tutorial-series", "chinese-language", "handler", "activity-lifecycle", "zygote", "android"], "topics": [], "urls": [], "use_cases": ["understand how the Android Handler async message mechanism works internally", "learn the Zygote and app process startup flow", "study the Activity launch and rendering pipeline source code", "understand how APKs are parsed and installed", "deepen Android framework internals knowledge beyond API usage"], "what_it_is": "A curated collection of Chinese-language articles analyzing the Android framework layer source code, covering topics like the async message mechanism, Zygote process startup, Activity lifecycle, and APK installation flows. It serves as an index of blog posts with a planned reading order for learning Android internals.", "when_to_avoid": ["you need up-to-date coverage of modern Android versions (content stopped updating around 2018)", "you need runnable code or a library rather than explanations", "you want English-language material"], "when_to_choose": []}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/androidsource", "repo": "yipianfengye/androidSource", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:07.635806+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T05:07:54.813098+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7bcfff4036df61257e03cb9bdfd2a4e25bc7f90b0e55c31046d9280827c473b0", "fetched_at": "2026-08-28T04:04:07.635806+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yipianfengye/androidSource"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:07.635806+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T05:07:54.813098+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7bcfff4036df61257e03cb9bdfd2a4e25bc7f90b0e55c31046d9280827c473b0", "fetched_at": "2026-08-28T04:04:07.635806+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yipianfengye/androidSource"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T05:07:54.813098+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7bcfff4036df61257e03cb9bdfd2a4e25bc7f90b0e55c31046d9280827c473b0", "fetched_at": "2026-08-28T04:04:07.635806+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yipianfengye/androidSource"}], "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:04:07.635806+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:07.635806+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:07.635806+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T05:07:54.813098+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7bcfff4036df61257e03cb9bdfd2a4e25bc7f90b0e55c31046d9280827c473b0", "fetched_at": "2026-08-28T04:04:07.635806+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yipianfengye/androidSource"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:07.635806+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:07.635806+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T05:07:54.813098+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7bcfff4036df61257e03cb9bdfd2a4e25bc7f90b0e55c31046d9280827c473b0", "fetched_at": "2026-08-28T04:04:07.635806+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yipianfengye/androidSource"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:07.635806+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:07.635806+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:07.635806+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T05:07:54.813098+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7bcfff4036df61257e03cb9bdfd2a4e25bc7f90b0e55c31046d9280827c473b0", "fetched_at": "2026-08-28T04:04:07.635806+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yipianfengye/androidSource"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:07.635806+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:07.635806+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T05:07:54.813098+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7bcfff4036df61257e03cb9bdfd2a4e25bc7f90b0e55c31046d9280827c473b0", "fetched_at": "2026-08-28T04:04:07.635806+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yipianfengye/androidSource"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T05:07:54.813098+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7bcfff4036df61257e03cb9bdfd2a4e25bc7f90b0e55c31046d9280827c473b0", "fetched_at": "2026-08-28T04:04:07.635806+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yipianfengye/androidSource"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T05:07:54.813098+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7bcfff4036df61257e03cb9bdfd2a4e25bc7f90b0e55c31046d9280827c473b0", "fetched_at": "2026-08-28T04:04:07.635806+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yipianfengye/androidSource"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T05:07:54.813098+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7bcfff4036df61257e03cb9bdfd2a4e25bc7f90b0e55c31046d9280827c473b0", "fetched_at": "2026-08-28T04:04:07.635806+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yipianfengye/androidSource"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:39:23.370411+00:00", "flags": ["no_releases", "no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3748, "days_push": 3092, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 32, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}