{"adoption": {"forks": 239, "observed_at": "2026-08-28T04:05:40.990447+00:00", "stars": 1821}, "canonical_url": "https://ross.abutalabs.com/products/rootavd", "card": {"archived": true, "artifact_type": "cli-tool", "description": "Script to root AVDs running with QEMU Emulator from Android Studio", "domain": ["android-tools", "security", "developer-tools"], "enriched": true, "function": ["security", "developer-tools", "cli"], "health_score": 10, "homepage": null, "language": "Shell", "license": "GPL-3.0", "license_family": "copyleft", "maturity": "maintenance", "member_repos": ["newbit1/rootAVD"], "name": "newbit1/rootAVD", "platform": ["windows", "cli"], "pushed_at": "2023-10-19T18:36:42+00:00", "repo": "newbit1/rootAVD", "stars": 1821, "tags": ["android-emulator", "avd", "magisk", "rooting", "shell-script", "archived", "command-line", "macos", "linux"], "topics": [], "urls": [], "use_cases": ["root an Android Studio emulator AVD with Magisk", "patch the fstab of an Android virtual device", "install a custom kernel and modules on an AVD", "install AOSP prebuilt kernel on an emulator", "set up a rooted Android emulator for security testing", "install USB host permissions module for Magisk on AVD"], "what_it_is": "A shell script that roots Android Studio Virtual Devices (AVDs) running on the QEMU emulator by installing Magisk, patching fstab, and optionally installing custom or AOSP prebuilt kernels. It works across macOS, Windows, and Linux hosts.", "when_to_avoid": ["you want to root a physical Android device", "you need a maintained tool - the GitHub repo was archived in October 2023 and moved to GitLab", "you use non-QEMU emulators other than those supported like BlueStacks"], "when_to_choose": ["you need a rooted Android emulator for pentesting or reverse engineering", "you want to automate Magisk installation on Android Studio AVDs", "you need to swap kernels on QEMU-based Android emulators"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/rootavd", "repo": "newbit1/rootAVD", "role": "main", "score": 10}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:40.990447+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:19:57.320348+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "93fbabc14a2ab891b70b2ed5116a6536286878260d3aed03739582752ad5c15e", "fetched_at": "2026-08-28T04:05:40.990447+00:00", "kind": "readme", "missing": false, "url": "https://github.com/newbit1/rootAVD"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:40.990447+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:19:57.320348+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "93fbabc14a2ab891b70b2ed5116a6536286878260d3aed03739582752ad5c15e", "fetched_at": "2026-08-28T04:05:40.990447+00:00", "kind": "readme", "missing": false, "url": "https://github.com/newbit1/rootAVD"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:19:57.320348+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "93fbabc14a2ab891b70b2ed5116a6536286878260d3aed03739582752ad5c15e", "fetched_at": "2026-08-28T04:05:40.990447+00:00", "kind": "readme", "missing": false, "url": "https://github.com/newbit1/rootAVD"}], "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:05:40.990447+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:40.990447+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:40.990447+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:19:57.320348+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "93fbabc14a2ab891b70b2ed5116a6536286878260d3aed03739582752ad5c15e", "fetched_at": "2026-08-28T04:05:40.990447+00:00", "kind": "readme", "missing": false, "url": "https://github.com/newbit1/rootAVD"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:40.990447+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:40.990447+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:19:57.320348+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "93fbabc14a2ab891b70b2ed5116a6536286878260d3aed03739582752ad5c15e", "fetched_at": "2026-08-28T04:05:40.990447+00:00", "kind": "readme", "missing": false, "url": "https://github.com/newbit1/rootAVD"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:40.990447+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:40.990447+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:40.990447+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:19:57.320348+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "93fbabc14a2ab891b70b2ed5116a6536286878260d3aed03739582752ad5c15e", "fetched_at": "2026-08-28T04:05:40.990447+00:00", "kind": "readme", "missing": false, "url": "https://github.com/newbit1/rootAVD"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:40.990447+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:40.990447+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:19:57.320348+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "93fbabc14a2ab891b70b2ed5116a6536286878260d3aed03739582752ad5c15e", "fetched_at": "2026-08-28T04:05:40.990447+00:00", "kind": "readme", "missing": false, "url": "https://github.com/newbit1/rootAVD"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:19:57.320348+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "93fbabc14a2ab891b70b2ed5116a6536286878260d3aed03739582752ad5c15e", "fetched_at": "2026-08-28T04:05:40.990447+00:00", "kind": "readme", "missing": false, "url": "https://github.com/newbit1/rootAVD"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:19:57.320348+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "93fbabc14a2ab891b70b2ed5116a6536286878260d3aed03739582752ad5c15e", "fetched_at": "2026-08-28T04:05:40.990447+00:00", "kind": "readme", "missing": false, "url": "https://github.com/newbit1/rootAVD"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:19:57.320348+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "93fbabc14a2ab891b70b2ed5116a6536286878260d3aed03739582752ad5c15e", "fetched_at": "2026-08-28T04:05:40.990447+00:00", "kind": "readme", "missing": false, "url": "https://github.com/newbit1/rootAVD"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases", "archived"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2059, "days_push": 1049, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 10, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}