{"adoption": {"forks": 1549, "observed_at": "2026-08-28T04:10:23.975816+00:00", "stars": 8645}, "canonical_url": "https://ross.abutalabs.com/products/andresguard", "card": {"archived": false, "artifact_type": "cli-tool", "description": "proguard resource for Android  by wechat team", "domain": ["mobile-development", "security", "developer-tools"], "enriched": true, "function": ["security", "compression", "build-tool", "cli"], "health_score": 20, "homepage": null, "language": "Java", "license": "Apache-2.0", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["shwenzhang/AndResGuard"], "name": "shwenzhang/AndResGuard", "platform": ["cli", "cross-platform", "jvm"], "pushed_at": "2023-10-20T04:14:07+00:00", "repo": "shwenzhang/AndResGuard", "stars": 8645, "tags": ["android", "apk-optimization", "resource-obfuscation", "gradle-plugin", "apk-shrinking", "reverse-engineering-protection"], "topics": [], "urls": [], "use_cases": ["shrink android apk size", "obfuscate android resource names to prevent apktool reverse engineering", "repackage apk with 7zip compression", "reduce resources.arsc size in android builds", "protect android app resources from being reversed"], "what_it_is": "AndResGuard is a tool from the WeChat team that obfuscates and shrinks Android APK resources, working like ProGuard but for resource files (renaming res paths and files). It repackages APKs with 7zip for further size reduction and requires no source code, operating directly on the APK.", "when_to_avoid": ["you need to obfuscate Java/Kotlin code rather than resources (use ProGuard/R8)", "your app relies on resource names at runtime via reflection or third-party SDKs not whitelisted", "you target Android App Bundles (AAB) distribution where APK-level repackaging doesn't apply"], "when_to_choose": ["you need to reduce APK size by shortening resource paths and recompressing", "you want to obfuscate Android resources against reverse engineering tools like Apktool", "you want a Gradle-integrated resource shrinking step in your Android build"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/andresguard", "repo": "shwenzhang/AndResGuard", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:10:23.975816+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:25:44.661853+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "50b40cf7cb41746611450aa5dc46b2908701fa8d304a07e088244e2ca3cc726b", "fetched_at": "2026-08-28T04:10:23.975816+00:00", "kind": "readme", "missing": false, "url": "https://github.com/shwenzhang/AndResGuard"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:10:23.975816+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:25:44.661853+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "50b40cf7cb41746611450aa5dc46b2908701fa8d304a07e088244e2ca3cc726b", "fetched_at": "2026-08-28T04:10:23.975816+00:00", "kind": "readme", "missing": false, "url": "https://github.com/shwenzhang/AndResGuard"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:25:44.661853+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "50b40cf7cb41746611450aa5dc46b2908701fa8d304a07e088244e2ca3cc726b", "fetched_at": "2026-08-28T04:10:23.975816+00:00", "kind": "readme", "missing": false, "url": "https://github.com/shwenzhang/AndResGuard"}], "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:23.975816+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:10:23.975816+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:10:23.975816+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:25:44.661853+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "50b40cf7cb41746611450aa5dc46b2908701fa8d304a07e088244e2ca3cc726b", "fetched_at": "2026-08-28T04:10:23.975816+00:00", "kind": "readme", "missing": false, "url": "https://github.com/shwenzhang/AndResGuard"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:10:23.975816+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:10:23.975816+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:25:44.661853+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "50b40cf7cb41746611450aa5dc46b2908701fa8d304a07e088244e2ca3cc726b", "fetched_at": "2026-08-28T04:10:23.975816+00:00", "kind": "readme", "missing": false, "url": "https://github.com/shwenzhang/AndResGuard"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:10:23.975816+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:10:23.975816+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:10:23.975816+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:25:44.661853+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "50b40cf7cb41746611450aa5dc46b2908701fa8d304a07e088244e2ca3cc726b", "fetched_at": "2026-08-28T04:10:23.975816+00:00", "kind": "readme", "missing": false, "url": "https://github.com/shwenzhang/AndResGuard"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:10:23.975816+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:10:23.975816+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:25:44.661853+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "50b40cf7cb41746611450aa5dc46b2908701fa8d304a07e088244e2ca3cc726b", "fetched_at": "2026-08-28T04:10:23.975816+00:00", "kind": "readme", "missing": false, "url": "https://github.com/shwenzhang/AndResGuard"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:25:44.661853+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "50b40cf7cb41746611450aa5dc46b2908701fa8d304a07e088244e2ca3cc726b", "fetched_at": "2026-08-28T04:10:23.975816+00:00", "kind": "readme", "missing": false, "url": "https://github.com/shwenzhang/AndResGuard"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:25:44.661853+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "50b40cf7cb41746611450aa5dc46b2908701fa8d304a07e088244e2ca3cc726b", "fetched_at": "2026-08-28T04:10:23.975816+00:00", "kind": "readme", "missing": false, "url": "https://github.com/shwenzhang/AndResGuard"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:25:44.661853+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "50b40cf7cb41746611450aa5dc46b2908701fa8d304a07e088244e2ca3cc726b", "fetched_at": "2026-08-28T04:10:23.975816+00:00", "kind": "readme", "missing": false, "url": "https://github.com/shwenzhang/AndResGuard"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3979, "days_push": 1048, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 23, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}