{"adoption": {"forks": 874, "observed_at": "2026-08-28T04:10:01.645410+00:00", "stars": 7558}, "canonical_url": "https://ross.abutalabs.com/products/android-classyshark", "card": {"archived": true, "artifact_type": "application", "description": "Android and Java bytecode viewer", "domain": ["android-tools", "developer-tools", "reverse-engineering"], "enriched": true, "function": ["developer-tools", "reverse-engineering", "parser"], "health_score": 10, "homepage": null, "language": "Java", "license": "Apache-2.0", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["google/android-classyshark"], "name": "google/android-classyshark", "platform": ["cross-platform", "jvm"], "pushed_at": "2023-05-19T10:01:03+00:00", "repo": "google/android-classyshark", "stars": 7558, "tags": ["apk-analysis", "bytecode-viewer", "dex", "java-inspection", "binary-inspection", "desktop"], "topics": ["dex", "classyshark", "jar", "android", "java", "apk", "apk-parser", "kotlin", "analysis", "multidex"], "urls": [], "use_cases": ["inspect classes and members inside an apk", "browse dex bytecode of an android app", "analyze dependencies and dex counts of an aar library", "view AndroidManifest and binary XML resources from an apk", "export class and dependency data as text", "check method counts for multidex issues"], "what_it_is": "ClassyShark is a standalone binary inspection tool for Android developers that browses Android executables and shows class interfaces, members, dex counts, and dependencies. It supports multiple formats including .dex, .aar, .so, .apk, .jar, .class, and Android binary XMLs.", "when_to_avoid": ["you need automated CI-based APK analysis pipelines", "you want to decompile to readable source code rather than browse bytecode", "you need active development or frequent updates"], "when_to_choose": ["you need a GUI to inspect Android binaries like apk, dex, aar, or jar", "you want to analyze method counts and dependencies without building the app", "you need to view compiled AndroidManifest or binary XML resources"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/android-classyshark", "repo": "google/android-classyshark", "role": "main", "score": 10}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:10:01.645410+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:37:22.594141+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "56c8aba5c6babf19de602827737d2a078bcdbe424bb6b7bc59a22aa57f27ceb9", "fetched_at": "2026-08-28T04:10:01.645410+00:00", "kind": "readme", "missing": false, "url": "https://github.com/google/android-classyshark"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:10:01.645410+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:37:22.594141+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "56c8aba5c6babf19de602827737d2a078bcdbe424bb6b7bc59a22aa57f27ceb9", "fetched_at": "2026-08-28T04:10:01.645410+00:00", "kind": "readme", "missing": false, "url": "https://github.com/google/android-classyshark"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:37:22.594141+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "56c8aba5c6babf19de602827737d2a078bcdbe424bb6b7bc59a22aa57f27ceb9", "fetched_at": "2026-08-28T04:10:01.645410+00:00", "kind": "readme", "missing": false, "url": "https://github.com/google/android-classyshark"}], "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:10:01.645410+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:10:01.645410+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:10:01.645410+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:37:22.594141+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "56c8aba5c6babf19de602827737d2a078bcdbe424bb6b7bc59a22aa57f27ceb9", "fetched_at": "2026-08-28T04:10:01.645410+00:00", "kind": "readme", "missing": false, "url": "https://github.com/google/android-classyshark"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:10:01.645410+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:10:01.645410+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:37:22.594141+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "56c8aba5c6babf19de602827737d2a078bcdbe424bb6b7bc59a22aa57f27ceb9", "fetched_at": "2026-08-28T04:10:01.645410+00:00", "kind": "readme", "missing": false, "url": "https://github.com/google/android-classyshark"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:10:01.645410+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:10:01.645410+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:10:01.645410+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:37:22.594141+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "56c8aba5c6babf19de602827737d2a078bcdbe424bb6b7bc59a22aa57f27ceb9", "fetched_at": "2026-08-28T04:10:01.645410+00:00", "kind": "readme", "missing": false, "url": "https://github.com/google/android-classyshark"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:10:01.645410+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:10:01.645410+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:37:22.594141+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "56c8aba5c6babf19de602827737d2a078bcdbe424bb6b7bc59a22aa57f27ceb9", "fetched_at": "2026-08-28T04:10:01.645410+00:00", "kind": "readme", "missing": false, "url": "https://github.com/google/android-classyshark"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:37:22.594141+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "56c8aba5c6babf19de602827737d2a078bcdbe424bb6b7bc59a22aa57f27ceb9", "fetched_at": "2026-08-28T04:10:01.645410+00:00", "kind": "readme", "missing": false, "url": "https://github.com/google/android-classyshark"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:37:22.594141+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "56c8aba5c6babf19de602827737d2a078bcdbe424bb6b7bc59a22aa57f27ceb9", "fetched_at": "2026-08-28T04:10:01.645410+00:00", "kind": "readme", "missing": false, "url": "https://github.com/google/android-classyshark"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:37:22.594141+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "56c8aba5c6babf19de602827737d2a078bcdbe424bb6b7bc59a22aa57f27ceb9", "fetched_at": "2026-08-28T04:10:01.645410+00:00", "kind": "readme", "missing": false, "url": "https://github.com/google/android-classyshark"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["archived"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3978, "days_push": 1202, "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}}