{"adoption": {"forks": 190, "observed_at": "2026-08-28T04:04:27.352004+00:00", "stars": 1345}, "canonical_url": "https://ross.abutalabs.com/products/androidkeepalive", "card": {"archived": false, "artifact_type": "library", "description": "Android 保活方案，进程永生, 无权限自启动, 安装自启动,禁止卸载,后台弹出页面,体外弹出,现已全面支持安卓16！", "domain": ["android-tools", "mobile-development", "developer-tools"], "enriched": true, "function": ["sdk", "security", "concurrency"], "health_score": 71, "homepage": null, "language": "C", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["fgkeepalive/AndroidKeepAlive"], "name": "fgkeepalive/AndroidKeepAlive", "platform": ["jvm", "cpp"], "pushed_at": "2026-05-28T06:36:38+00:00", "repo": "fgkeepalive/AndroidKeepAlive", "stars": 1345, "tags": ["android-keep-alive", "process-daemon", "auto-start", "anti-kill", "jni", "background-execution", "process-immortality", "android"], "topics": ["android", "keep-alive", "googleplaystore", "androidkeepalive", "daemon", "java", "jni", "native"], "urls": [], "use_cases": ["keep an android app process alive after force stop", "auto-start app immediately after installation on android", "launch activity from background without permissions", "prevent android system from freezing background app", "hide app icon and task from recents on android", "survive device reboot with auto-start", "revive a killed android process within minutes"], "what_it_is": "An Android process keep-alive (daemon) library implemented with Linux-level techniques via C/JNI, claiming to keep apps alive even against force-stop, with auto-start on install/boot, background activity launching, icon hiding, and uninstall prevention. It is actively updated through Android 16, though the full demo is distributed privately via contact rather than as a fully open build.", "when_to_avoid": ["your app targets Google Play distribution - the techniques (encrypted VM to evade code review, uninstall blocking) violate Play policy and risk removal", "you need a fully open-source, self-contained build - the core demo is gated behind private contact", "you only need standard foreground services or WorkManager-style background work", "ethical/legal constraints prohibit evading OS restrictions or user control"], "when_to_choose": ["you need maximum process persistence on Android across OEM skins like MIUI and up to Android 16", "you need install-time or boot-time auto-start and background activity launching", "you need low-CPU, low-battery background persistence rather than music/1-pixel tricks"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/androidkeepalive", "repo": "fgkeepalive/AndroidKeepAlive", "role": "main", "score": 68}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:27.352004+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:42:45.239277+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6cd289de66b60d9b1876b18649e8c18ca50a56d987721e5db7aa61e4f2327c35", "fetched_at": "2026-08-28T04:04:27.352004+00:00", "kind": "readme", "missing": false, "url": "https://github.com/fgkeepalive/AndroidKeepAlive"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:27.352004+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:42:45.239277+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6cd289de66b60d9b1876b18649e8c18ca50a56d987721e5db7aa61e4f2327c35", "fetched_at": "2026-08-28T04:04:27.352004+00:00", "kind": "readme", "missing": false, "url": "https://github.com/fgkeepalive/AndroidKeepAlive"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:42:45.239277+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6cd289de66b60d9b1876b18649e8c18ca50a56d987721e5db7aa61e4f2327c35", "fetched_at": "2026-08-28T04:04:27.352004+00:00", "kind": "readme", "missing": false, "url": "https://github.com/fgkeepalive/AndroidKeepAlive"}], "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:27.352004+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:27.352004+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:27.352004+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:42:45.239277+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6cd289de66b60d9b1876b18649e8c18ca50a56d987721e5db7aa61e4f2327c35", "fetched_at": "2026-08-28T04:04:27.352004+00:00", "kind": "readme", "missing": false, "url": "https://github.com/fgkeepalive/AndroidKeepAlive"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:27.352004+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:27.352004+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:42:45.239277+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6cd289de66b60d9b1876b18649e8c18ca50a56d987721e5db7aa61e4f2327c35", "fetched_at": "2026-08-28T04:04:27.352004+00:00", "kind": "readme", "missing": false, "url": "https://github.com/fgkeepalive/AndroidKeepAlive"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:27.352004+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:27.352004+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:27.352004+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:42:45.239277+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6cd289de66b60d9b1876b18649e8c18ca50a56d987721e5db7aa61e4f2327c35", "fetched_at": "2026-08-28T04:04:27.352004+00:00", "kind": "readme", "missing": false, "url": "https://github.com/fgkeepalive/AndroidKeepAlive"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:27.352004+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:27.352004+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:42:45.239277+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6cd289de66b60d9b1876b18649e8c18ca50a56d987721e5db7aa61e4f2327c35", "fetched_at": "2026-08-28T04:04:27.352004+00:00", "kind": "readme", "missing": false, "url": "https://github.com/fgkeepalive/AndroidKeepAlive"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:42:45.239277+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6cd289de66b60d9b1876b18649e8c18ca50a56d987721e5db7aa61e4f2327c35", "fetched_at": "2026-08-28T04:04:27.352004+00:00", "kind": "readme", "missing": false, "url": "https://github.com/fgkeepalive/AndroidKeepAlive"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:42:45.239277+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6cd289de66b60d9b1876b18649e8c18ca50a56d987721e5db7aa61e4f2327c35", "fetched_at": "2026-08-28T04:04:27.352004+00:00", "kind": "readme", "missing": false, "url": "https://github.com/fgkeepalive/AndroidKeepAlive"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:42:45.239277+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6cd289de66b60d9b1876b18649e8c18ca50a56d987721e5db7aa61e4f2327c35", "fetched_at": "2026-08-28T04:04:27.352004+00:00", "kind": "readme", "missing": false, "url": "https://github.com/fgkeepalive/AndroidKeepAlive"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 84, "longevity": 92, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 1296, "days_push": 97, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 68, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}