{"adoption": {"forks": 195, "observed_at": "2026-08-28T04:04:31.084286+00:00", "stars": 1365}, "canonical_url": "https://ross.abutalabs.com/products/manbanggroup-phantom", "card": {"archived": false, "artifact_type": "library", "description": "Phantom — 唯一零 Hook 稳定占坑类 Android 热更新插件化方案", "domain": ["mobile-development", "android-tools", "developer-tools"], "enriched": true, "function": ["plugin-system", "mobile-framework", "developer-tools"], "health_score": 20, "homepage": null, "language": "Java", "license": "Apache-2.0", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["ManbangGroup/Phantom"], "name": "ManbangGroup/Phantom", "platform": ["jvm"], "pushed_at": "2019-07-19T06:26:28+00:00", "repo": "ManbangGroup/Phantom", "stars": 1365, "tags": ["android-plugin-framework", "hot-update", "zero-hook", "dynamic-loading", "apk-plugins", "android", "gradle"], "topics": ["android", "android-library", "plugin-sdk", "plugin-architecture", "plugin-engine", "plugin", "plugin-system"], "urls": [], "use_cases": ["load feature modules as plugin APKs without releasing a new host app", "hot-update parts of an Android app without going through the store", "add new activities and services to a host app without manifest changes", "split a large Android app into independently deployable plugins", "run plugin code with minimal hooking for maximum OS compatibility"], "what_it_is": "Phantom is an Android plugin framework from Manbang Group that enables hot updates and dynamic loading of plugin APKs without pre-registering components in the host manifest. It uses a zero-hook approach for broad compatibility across Android 4.0 through Android Q.", "when_to_avoid": ["your plugins need ContentProvider support, which Phantom does not provide", "you target only modern Android with native dynamic feature modules or Play Feature Delivery", "the project appears to be in maintenance mode with the last release in 2019", "you need a framework with active community development and recent updates"], "when_to_choose": ["you need a stable, battle-tested Android plugin framework with zero hooks", "you want to support adding new plugins or components without updating the host app", "you need compatibility across a wide range of Android versions including recent ones", "you want low integration cost with only a few lines of setup"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/manbanggroup-phantom", "repo": "ManbangGroup/Phantom", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:31.084286+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:41:14.982614+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c2cec976c14055b2abaacfae5ee745edd18bf8d64821307b8a2dc902b8d898e7", "fetched_at": "2026-08-28T04:04:31.084286+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ManbangGroup/Phantom"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:31.084286+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:41:14.982614+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c2cec976c14055b2abaacfae5ee745edd18bf8d64821307b8a2dc902b8d898e7", "fetched_at": "2026-08-28T04:04:31.084286+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ManbangGroup/Phantom"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:41:14.982614+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c2cec976c14055b2abaacfae5ee745edd18bf8d64821307b8a2dc902b8d898e7", "fetched_at": "2026-08-28T04:04:31.084286+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ManbangGroup/Phantom"}], "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:31.084286+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:31.084286+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:31.084286+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:41:14.982614+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c2cec976c14055b2abaacfae5ee745edd18bf8d64821307b8a2dc902b8d898e7", "fetched_at": "2026-08-28T04:04:31.084286+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ManbangGroup/Phantom"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:31.084286+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:31.084286+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:41:14.982614+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c2cec976c14055b2abaacfae5ee745edd18bf8d64821307b8a2dc902b8d898e7", "fetched_at": "2026-08-28T04:04:31.084286+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ManbangGroup/Phantom"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:31.084286+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:31.084286+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:31.084286+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:41:14.982614+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c2cec976c14055b2abaacfae5ee745edd18bf8d64821307b8a2dc902b8d898e7", "fetched_at": "2026-08-28T04:04:31.084286+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ManbangGroup/Phantom"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:31.084286+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:31.084286+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:41:14.982614+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c2cec976c14055b2abaacfae5ee745edd18bf8d64821307b8a2dc902b8d898e7", "fetched_at": "2026-08-28T04:04:31.084286+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ManbangGroup/Phantom"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:41:14.982614+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c2cec976c14055b2abaacfae5ee745edd18bf8d64821307b8a2dc902b8d898e7", "fetched_at": "2026-08-28T04:04:31.084286+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ManbangGroup/Phantom"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:41:14.982614+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c2cec976c14055b2abaacfae5ee745edd18bf8d64821307b8a2dc902b8d898e7", "fetched_at": "2026-08-28T04:04:31.084286+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ManbangGroup/Phantom"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:41:14.982614+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c2cec976c14055b2abaacfae5ee745edd18bf8d64821307b8a2dc902b8d898e7", "fetched_at": "2026-08-28T04:04:31.084286+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ManbangGroup/Phantom"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2878, "days_push": 2602, "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}}