{"adoption": {"forks": 192, "observed_at": "2026-08-28T04:04:43.889130+00:00", "stars": 1438}, "canonical_url": "https://ross.abutalabs.com/products/soloader", "card": {"archived": false, "artifact_type": "library", "description": "Native code loader for Android", "domain": ["mobile-development", "android-tools", "developer-tools"], "enriched": true, "function": ["sdk", "developer-tools"], "health_score": 88, "homepage": null, "language": "Java", "license": "Apache-2.0", "license_family": "permissive", "maturity": "stable", "member_repos": ["facebook/SoLoader"], "name": "facebook/SoLoader", "platform": ["jvm"], "pushed_at": "2026-08-26T18:43:17+00:00", "repo": "facebook/SoLoader", "stars": 1438, "tags": ["native-code-loader", "jni", "shared-libraries", "android-ndk", "exopackage", "android", "mobile"], "topics": [], "urls": [], "use_cases": ["load native .so libraries on old Android versions", "recursively resolve native library dependencies on Android", "unpack native libraries for Exopackage builds", "support Android native library merging", "load Superpack-compressed native libraries"], "what_it_is": "SoLoader is a native code loader library for Android that unpacks native libraries and recursively loads their dependencies. It primarily targets Android API 23 and earlier, where the OS lacks full support for this functionality.", "when_to_avoid": ["your app only targets Android API 24+ with a standard delivery model", "your project has no native (JNI/NDK) code", "you want a lightweight solution without an extra dependency"], "when_to_choose": ["your app supports Android API 23 or lower and loads native code", "you use Exopackage, native library merging, or Superpack compression", "you need reliable recursive dependency loading for JNI libraries"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/soloader", "repo": "facebook/SoLoader", "role": "main", "score": 79}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:43.889130+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:36:39.972352+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "405916c5b77a1c9b8ffc17f90ef50b78d0d26534e28e94fb17f549036cef9817", "fetched_at": "2026-08-28T04:04:43.889130+00:00", "kind": "readme", "missing": false, "url": "https://github.com/facebook/SoLoader"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:43.889130+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:36:39.972352+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "405916c5b77a1c9b8ffc17f90ef50b78d0d26534e28e94fb17f549036cef9817", "fetched_at": "2026-08-28T04:04:43.889130+00:00", "kind": "readme", "missing": false, "url": "https://github.com/facebook/SoLoader"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:36:39.972352+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "405916c5b77a1c9b8ffc17f90ef50b78d0d26534e28e94fb17f549036cef9817", "fetched_at": "2026-08-28T04:04:43.889130+00:00", "kind": "readme", "missing": false, "url": "https://github.com/facebook/SoLoader"}], "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:43.889130+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:43.889130+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:43.889130+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:36:39.972352+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "405916c5b77a1c9b8ffc17f90ef50b78d0d26534e28e94fb17f549036cef9817", "fetched_at": "2026-08-28T04:04:43.889130+00:00", "kind": "readme", "missing": false, "url": "https://github.com/facebook/SoLoader"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:43.889130+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:43.889130+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:36:39.972352+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "405916c5b77a1c9b8ffc17f90ef50b78d0d26534e28e94fb17f549036cef9817", "fetched_at": "2026-08-28T04:04:43.889130+00:00", "kind": "readme", "missing": false, "url": "https://github.com/facebook/SoLoader"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:43.889130+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:43.889130+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:43.889130+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:36:39.972352+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "405916c5b77a1c9b8ffc17f90ef50b78d0d26534e28e94fb17f549036cef9817", "fetched_at": "2026-08-28T04:04:43.889130+00:00", "kind": "readme", "missing": false, "url": "https://github.com/facebook/SoLoader"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:43.889130+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:43.889130+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:36:39.972352+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "405916c5b77a1c9b8ffc17f90ef50b78d0d26534e28e94fb17f549036cef9817", "fetched_at": "2026-08-28T04:04:43.889130+00:00", "kind": "readme", "missing": false, "url": "https://github.com/facebook/SoLoader"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:36:39.972352+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "405916c5b77a1c9b8ffc17f90ef50b78d0d26534e28e94fb17f549036cef9817", "fetched_at": "2026-08-28T04:04:43.889130+00:00", "kind": "readme", "missing": false, "url": "https://github.com/facebook/SoLoader"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:36:39.972352+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "405916c5b77a1c9b8ffc17f90ef50b78d0d26534e28e94fb17f549036cef9817", "fetched_at": "2026-08-28T04:04:43.889130+00:00", "kind": "readme", "missing": false, "url": "https://github.com/facebook/SoLoader"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:36:39.972352+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "405916c5b77a1c9b8ffc17f90ef50b78d0d26534e28e94fb17f549036cef9817", "fetched_at": "2026-08-28T04:04:43.889130+00:00", "kind": "readme", "missing": false, "url": "https://github.com/facebook/SoLoader"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 40}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["prerelease_only"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3968, "days_push": 7, "days_rel": 720, "gap_med": 1, "n_releases_24m": 2}, "score": 79, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}