awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
Tencent avatar

Tencent/Shadow

0
View on GitHub↗
7,772 stars·1,349 forks·Java·BSD-3-Clause·20 views

Shadow

Shadow is an Android plugin framework designed to dynamically load and execute Android components and native libraries from external modules into a host application. It functions as a dynamic component loader that integrates activities, services, and broadcast receivers without requiring modifications to the host application code.

The system includes a native library loader to execute C/C++ binary files from plugin modules directly within the host process. It also features a module dependency manager that supports segmented loading and explicit dependency chains across multiple plugin packages.

The framework provides mechanisms for cross-module class sharing and component integration. It utilizes a custom class-loader hierarchy and context-wrapper injection to manage resource lookups and isolate plugin modules while maintaining access to host application classes.

Features

  • Android Plugin Frameworks - Provides a framework for dynamically loading and executing Android components and native libraries from external modules.
  • Native Extension Loading - Loads C/C++ binary files from plugin modules directly into the host process for execution.
  • Native Plugin Loaders - Loads and executes C/C++ binary files from external plugin modules directly within the host process.
  • Android App Modularization - Provides a framework for adding new features to an existing Android app via plugins to avoid monolithic builds.
  • Dynamic Library Loading - Enables execution of external code and native C++ libraries at runtime without requiring a full application update.
  • Dynamic Android Component Loading - Integrates activities, services, and broadcast receivers from remote plugins without modifying host application code.
  • Native Binary Mapping - Maps external C/C++ libraries into the host process memory space to enable native code execution within plugins.
  • Plugin Dependency Management - Manages incremental loading and explicit dependency chains across multiple plugin packages.
  • Android Component Proxies - Uses proxy components to simulate manifest registration and route system callbacks from the host to plugin logic.
  • Android Context Wrappers - Wraps the Android application context to redirect resource lookups and asset loading to plugin-specific internal storage.
  • Class Loader Hierarchies - Implements a custom chain of class loaders to isolate plugin modules while allowing shared access to host application classes.
  • Cross-Module Class Sharing - Allows separate plugin modules to access and interact with classes defined in the main host application.
  • Runtime Plugin Module Injectors - Executes external plugin code dynamically through standard interfaces to ensure compatibility with restricted environments.
  • Segmented Module Loading - Splits plugin functionality into multiple packages to allow incremental loading and explicit dependency management.
  • Reflection-Free Runtime Execution - Executes plugin code without using Java reflection to bypass security restrictions and improve performance on Android.

Star history

Star history chart for tencent/shadowStar history chart for tencent/shadow

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Shadow

Similar open-source projects, ranked by how many features they share with Shadow.
  • didi/virtualapkdidi avatar

    didi/VirtualAPK

    9,055View on GitHub↗

    VirtualAPK is an Android plugin framework and runtime environment designed to load and execute external Android packages dynamically. It functions as a component host that allows a main application to run activities, services, and providers delivered via external modules without requiring system installation or manifest registration. The framework enables dynamic feature delivery by loading external packages at runtime, allowing application functionality to be updated without redeploying the entire app. It provides a mechanism for Android sandbox execution, running isolated components within

    Java
    View on GitHub↗9,055
  • alibaba/atlasalibaba avatar

    alibaba/atlas

    8,149View on GitHub↗

    Atlas is a modularization system and dynamic component framework for Android. It functions as a class isolation layer and incremental update engine, allowing application logic and resources to be decoupled into independent bundles that are loaded at runtime. The project distinguishes itself by providing physical bundle isolation through custom class loaders to prevent dependency conflicts and bypass method count limits. It enables the deployment of remote components and incremental patches, using bytecode diffs and resource patching to update specific application parts without requiring a ful

    Javaandroidatlasdynamic
    View on GitHub↗8,149
  • qihoo360/repluginQihoo360 avatar

    Qihoo360/RePlugin

    7,346View on GitHub↗

    RePlugin is an Android plugin framework and component orchestrator designed to load external activities, services, and receivers into an application without updating the main binary. It functions as a dynamic feature delivery system that decouples application modules into independent plugins. The framework provides a communication bridge for bidirectional data exchange between the host application and external plugins, as well as inter-plugin synchronization. It manages the entire plugin lifecycle, including installation, version management, and integrity verification to ensure the safety of

    Java
    View on GitHub↗7,346
  • droidpluginteam/droidpluginDroidPluginTeam avatar

    DroidPluginTeam/DroidPlugin

    6,971View on GitHub↗

    DroidPlugin is an Android plugin framework designed to execute third-party APKs and native binaries without requiring installation or modifications to the host application manifest. It provides a native binary plugin host that allows the loading of C and C++ binaries through native hooks to extend core application functionality. The framework utilizes a component router to direct activities and services to external plugins, bypassing the need for manual registration in the host manifest. It further decouples external activities from the host lifecycle through a proxy-based mechanism. The sys

    Javaandroiddroid-pluginhook
    View on GitHub↗6,971
See all 30 alternatives to Shadow→

Frequently asked questions

What does tencent/shadow do?

Shadow is an Android plugin framework designed to dynamically load and execute Android components and native libraries from external modules into a host application. It functions as a dynamic component loader that integrates activities, services, and broadcast receivers without requiring modifications to the host application code.

What are the main features of tencent/shadow?

The main features of tencent/shadow are: Android Plugin Frameworks, Native Extension Loading, Native Plugin Loaders, Android App Modularization, Dynamic Library Loading, Dynamic Android Component Loading, Native Binary Mapping, Plugin Dependency Management.

What are some open-source alternatives to tencent/shadow?

Open-source alternatives to tencent/shadow include: didi/virtualapk — VirtualAPK is an Android plugin framework and runtime environment designed to load and execute external Android… alibaba/atlas — Atlas is a modularization system and dynamic component framework for Android. It functions as a class isolation layer… qihoo360/replugin — RePlugin is an Android plugin framework and component orchestrator designed to load external activities, services, and… droidpluginteam/droidplugin — DroidPlugin is an Android plugin framework designed to execute third-party APKs and native binaries without requiring… kaedea/android-dynamical-loading — This project is a toolkit for modular Android application development, providing a framework to load external code,… o3de/o3de — This project is an open-source 3D game engine designed for building high-fidelity games, simulations, and cinematic…