tencent/shadow

零反射全动态Android插件框架

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 16 minutes ago
Added to GitGenius on September 8th, 2026
Created on June 13th, 2019
Open Issues & Pull Requests: 69 (+0)
GitHub issues: Enabled
Number of forks: 1,350
Total Stargazers: 7,787 (+0)
Total Subscribers: 158 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 2.4 hours
Mean response time: 17.1 days
90th percentile: 32.1 days
Tracked items: 75

Most active contributors

Sign in to see contributor activity.

Related repositories by overlapping contributors

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 100% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Only 5% of issues opened in the past year have been closed. Three people close 51% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 46
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 504 days
Stale 30+ days: 46
Stale 90+ days: 43

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • PR welcome (6)
  • 因陈旧关闭 (3)
  • bug (1)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

Shadow is an Android plugin framework that enables dynamic loading of plugin applications without reflection or system API hacking.

Shadow solves the problem of extending Android app functionality through plugins while maintaining compatibility with Google's restrictions on non-public SDK interfaces. It achieves this through a fully dynamic architecture where the plugin framework itself is distributed as part of the plugin rather than baked into the host application. This approach allows plugin source code to function as a standalone installable app, and plugins can be iterated independently of host app releases. The framework supports all four Android components, Fragments, DataBinding, cross-process plugin Services, custom themes, plugin access to host classes, native library loading, and segmented plugin loading across multiple APKs.

Shadow suits projects requiring plugin architecture without the maintenance burden of framework version mismatches between host and plugins. Teams should choose it if they need minimal host app footprint—the framework adds only approximately fifteen kilobytes to the host—and want to avoid reflection-based hacks or undocumented API calls. The tool is particularly valuable for applications that need to ship plugin updates independently of host updates. The README does not compare Shadow to alternative plugin frameworks, so no comparative guidance can be offered.

The project maintains automated testing across multiple Android versions and JDK versions to verify compatibility. The core loader and transform components are implemented in Kotlin, prioritizing code clarity and maintainability. The framework has been validated at scale through deployment to hundreds of millions of users.