{"adoption": {"forks": 181, "observed_at": "2026-08-28T04:06:19.708914+00:00", "stars": 2156}, "canonical_url": "https://ross.abutalabs.com/products/codelocator", "card": {"archived": false, "artifact_type": "plugin", "description": null, "domain": ["developer-tools", "mobile-development", "android-tools"], "enriched": true, "function": ["developer-tools", "gui", "editor"], "health_score": 57, "homepage": null, "language": "Java", "license": "Apache-2.0", "license_family": "permissive", "maturity": "active", "member_repos": ["bytedance/CodeLocator"], "name": "bytedance/CodeLocator", "platform": ["windows", "editor-plugin"], "pushed_at": "2025-08-26T11:35:13+00:00", "repo": "bytedance/CodeLocator", "stars": 2156, "tags": ["android-studio-plugin", "view-inspection", "debugging", "code-navigation", "ui-debugging", "android", "macos"], "topics": [], "urls": [], "use_cases": ["inspect the view hierarchy of a running Android app", "jump from a View to its click handler or findViewById code", "edit View properties like visibility and text at runtime", "find which View is receiving touch events", "locate and install the latest APK from an Android Studio project", "quickly toggle layout bounds and overdraw visualization", "view current Activity and Fragment information while debugging"], "what_it_is": "CodeLocator is an Android debugging toolset consisting of an Android SDK and an Android Studio plugin that lets developers inspect and interact with a running app's UI. It shows the current view hierarchy, Activity and Fragment info, and enables jumping from a View to its code or XML layout location.", "when_to_avoid": ["you develop for iOS or non-Android platforms", "you need automated UI testing rather than interactive inspection", "your project has not migrated to AndroidX and you need maintained support-library integration"], "when_to_choose": ["you develop Android apps and need runtime UI inspection and code navigation", "you want to trace a UI element back to its source code or layout XML", "you debug touch handling or View state issues on device"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/codelocator", "repo": "bytedance/CodeLocator", "role": "main", "score": 41}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:19.708914+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:50:27.480594+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "efe7e03507dd1c52e981bd7750b89f0fbe7f9a04a938302cf2df0fbe513ac92f", "fetched_at": "2026-08-28T04:06:19.708914+00:00", "kind": "readme", "missing": false, "url": "https://github.com/bytedance/CodeLocator"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:19.708914+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:50:27.480594+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "efe7e03507dd1c52e981bd7750b89f0fbe7f9a04a938302cf2df0fbe513ac92f", "fetched_at": "2026-08-28T04:06:19.708914+00:00", "kind": "readme", "missing": false, "url": "https://github.com/bytedance/CodeLocator"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:50:27.480594+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "efe7e03507dd1c52e981bd7750b89f0fbe7f9a04a938302cf2df0fbe513ac92f", "fetched_at": "2026-08-28T04:06:19.708914+00:00", "kind": "readme", "missing": false, "url": "https://github.com/bytedance/CodeLocator"}], "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:06:19.708914+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:19.708914+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:19.708914+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:50:27.480594+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "efe7e03507dd1c52e981bd7750b89f0fbe7f9a04a938302cf2df0fbe513ac92f", "fetched_at": "2026-08-28T04:06:19.708914+00:00", "kind": "readme", "missing": false, "url": "https://github.com/bytedance/CodeLocator"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:19.708914+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:19.708914+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:50:27.480594+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "efe7e03507dd1c52e981bd7750b89f0fbe7f9a04a938302cf2df0fbe513ac92f", "fetched_at": "2026-08-28T04:06:19.708914+00:00", "kind": "readme", "missing": false, "url": "https://github.com/bytedance/CodeLocator"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:19.708914+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:19.708914+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:19.708914+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:50:27.480594+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "efe7e03507dd1c52e981bd7750b89f0fbe7f9a04a938302cf2df0fbe513ac92f", "fetched_at": "2026-08-28T04:06:19.708914+00:00", "kind": "readme", "missing": false, "url": "https://github.com/bytedance/CodeLocator"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:19.708914+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:19.708914+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:50:27.480594+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "efe7e03507dd1c52e981bd7750b89f0fbe7f9a04a938302cf2df0fbe513ac92f", "fetched_at": "2026-08-28T04:06:19.708914+00:00", "kind": "readme", "missing": false, "url": "https://github.com/bytedance/CodeLocator"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:50:27.480594+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "efe7e03507dd1c52e981bd7750b89f0fbe7f9a04a938302cf2df0fbe513ac92f", "fetched_at": "2026-08-28T04:06:19.708914+00:00", "kind": "readme", "missing": false, "url": "https://github.com/bytedance/CodeLocator"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:50:27.480594+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "efe7e03507dd1c52e981bd7750b89f0fbe7f9a04a938302cf2df0fbe513ac92f", "fetched_at": "2026-08-28T04:06:19.708914+00:00", "kind": "readme", "missing": false, "url": "https://github.com/bytedance/CodeLocator"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:50:27.480594+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "efe7e03507dd1c52e981bd7750b89f0fbe7f9a04a938302cf2df0fbe513ac92f", "fetched_at": "2026-08-28T04:06:19.708914+00:00", "kind": "readme", "missing": false, "url": "https://github.com/bytedance/CodeLocator"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 38, "longevity": 100, "rhythm": 12}, "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": 1841, "days_push": 372, "days_rel": 372, "gap_med": null, "n_releases_24m": 1}, "score": 41, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}