30 open-source projects similar to didi/virtualapk, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best VirtualAPK alternative.
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
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 package
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
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
This project is a toolkit for modular Android application development, providing a framework to load external code, resources, and native libraries at runtime. It enables developers to structure applications into independent modules, facilitating dynamic feature deployment and the ability to update components without requiring a full application re-installation. The framework distinguishes itself through a robust orchestration system that manages the lifecycle and integration of these modular components. It employs custom class loading and resource injection to merge external modules into the
Dynamic-load-apk is an Android plugin framework that enables a host application to load and run uninstalled APK files as plugins at runtime. It provides the core infrastructure for loading APKs from storage, launching their activities, and managing their lifecycle without requiring the user to install them through the system package manager. The framework handles the fundamental challenges of running uninstalled code on Android through several key mechanisms. It isolates plugin classes in a separate DexClassLoader to prevent conflicts with the host class hierarchy, merges plugin resources int
Bundletool is a command line toolkit for manipulating Android App Bundles and generating optimized APKs tailored to specific device configurations. It serves as a utility for converting bundles into monolithic or split installation files and validating the integrity and size of these packages before publishing. The tool differentiates itself through the ability to analyze device hardware specifications to extract only the required resource sets, reducing application download sizes. It also provides specialized capabilities for creating and exporting distribution archives for runtime-enabled s
Sofa-boot is a modular Java application framework and Spring Boot extension designed to isolate application modules into separate execution contexts. It provides a JVM service orchestrator for publishing and referencing internal services and an enterprise middleware integration layer for deploying self-contained middleware starters. The framework prevents bean, configuration, and dependency version conflicts by using independent classloaders and a hierarchical tree of distinct execution contexts. It optimizes enterprise application startup times by loading independent modules in parallel and
This project is a technical reference and documentation suite focused on the internal architecture and operational principles of the Java Virtual Machine. It provides comprehensive guides and analysis on how the virtual machine manages class loading, memory organization, and bytecode execution. The documentation distinguishes itself by providing deep dives into specific runtime mechanisms, such as the binary decoding of class files, the hierarchical delegation model for class loaders, and the precise sequence of the loading, linking, and initialization lifecycle. It also details memory reclam
sofa-boot is a Spring Boot extension framework designed for enterprise service orchestration and middleware integration. It functions as a Java class loader isolator and Spring context manager, providing the mechanisms necessary to prevent dependency and bean conflicts within complex applications. The project differentiates itself by separating classes and contexts into distinct namespaces to resolve version conflicts between application libraries and middleware modules. It also acts as an enterprise middleware integrator, using standardized starters to automatically configure and connect app
Cloudstream is an Android media streaming client and extensible media player that aggregates video and audio content from external sources. It operates as an Android application container within a Linux-based environment, enabling the installation and execution of Android software packages via APK files. The project utilizes an extension-based provider system that allows for the creation of custom plugins. These extensions define the logic for scraping and retrieving multimedia content and metadata from third-party sources. Additional capabilities include the ability to cast media playback t
go-plugin is a framework for implementing plugin architectures where extensions run as separate processes and communicate via a Go RPC plugin system. It functions as an inter-process communication library and lifecycle manager that allows host applications to discover, launch, and monitor external binary plugins. The framework enables cross-language plugin systems, allowing plugins written in different languages to integrate with a host through standardized RPC protocols. It features a bidirectional RPC bridge that allows both the host and the plugin to exchange interface implementations for
LSPatch is an Android runtime hooking tool and non-root app patcher. It provides a non-root implementation of the Xposed framework, allowing for the modification of Android application behavior without requiring administrative system access. The project enables the integration of Xposed modules into specific applications by embedding the necessary API components directly into the application package. This allows for application sandbox customization and the execution of framework modules on standard devices. The framework achieves these modifications through dex-based method hooking, dynamic
AndroidNote is a technical knowledge base and reference resource for Android development. It provides comprehensive guidance on application architecture, custom view development, and advanced graphics programming. The project is distinguished by its depth in visual implementation, covering pseudo-3D perspective projections via virtual cameras and complex 2D rendering using Bézier curves and PorterDuff color blending. It also provides detailed methodologies for app modularization and the management of internal libraries through private Maven repositories and JitPack. The reference surface ext
Object-reflector is a Python object reflection library and dynamic attribute access tool. It functions as an object property extractor designed to retrieve values from an object's internal state and inheritance hierarchies during runtime. The library provides the capability to access and extract private, protected, and inherited object attributes. This allows for the inspection of internal properties regardless of their visibility. The project covers domains including software debugging workflows, automated testing utilities, and general Python runtime reflection to analyze object properties
Island is an Android work profile manager and application sandbox. It provides a system for running parallel instances of the same application to support multiple user accounts and creates isolated environments to limit application access to the rest of the system. The project incorporates a device policy controller to manage system-level settings and restrictions. It includes utilities to halt all background activity for specific applications to conserve system resources and allows for the removal of application visibility from the user interface. The system also handles independent network
This project is an instructional repository and learning resource providing a comprehensive collection of study notes, programming guides, and runnable source code examples. It serves as a guide for Java SE and Java web development, featuring a library of code samples that demonstrate common algorithms and technical implementations. The repository focuses on language core and runtime analysis, with detailed tutorials on multithreading and concurrency. It provides practical implementations of software architecture and design patterns, such as the singleton and strategy patterns, as well as exp
uamp is an audio media application framework and reference implementation for building music playback applications on Android. It provides a cross-device media framework designed to maintain functional and visual consistency across phones, tablets, Wear OS, Android TV, and Android Auto. The project features specific implementations for automotive-safe music control and Google Cast integration for remote playback. It includes a multi-form factor UI kit that demonstrates how to adapt a single media codebase to various screen sizes and device types. The framework covers core media capabilities
NeoForge is a development framework and programming interface designed for modifying the Minecraft Java Edition game engine. It provides a standardized environment that allows developers to inject custom logic, extend core gameplay mechanics, and introduce new content into the game. The platform distinguishes itself by utilizing a system of hooks and registry patterns that manage how modifications interact with the game engine. It maintains stability across different versions by separating client and server execution environments and automating the discovery and loading of mod packages. The
jvm-sandbox is a bytecode instrumentation framework and plugin container for the Java Virtual Machine. It acts as a runtime application modifier that enables the injection and modification of bytecode in a running process without requiring an application restart or changes to the original source code. The system provides a non-invasive aspect-oriented programming framework to intercept method execution and alter behavior in live processes. It functions as an isolated environment for functional modules, employing a custom class loader hierarchy to prevent dependency conflicts between plugins a
UnityExplorer is a specialized suite of runtime tools for memory exploration, asset exporting, camera control, and real-time object property inspection within Unity applications. It functions as a runtime debugger and engine inspector, providing an interface to locate singletons, static classes, and active scene objects in memory. The project distinguishes itself with a C# runtime debugger that allows for the execution of custom scripts and the patching of method behavior. It includes a dedicated asset exporter for saving textures and audio clips as PNG and WAV files, as well as a freecam too
BigBlueButton is an open-source virtual classroom software and meeting server designed for hosting real-time online teaching sessions. It functions as a WebRTC video conferencing platform and collaboration suite, providing a self-hosted environment for virtual classroom management and online course administration. The system distinguishes itself through specialized educational tools, including an interactive quiz engine, breakout room coordination, and live polling. It provides a comprehensive suite of collaborative assets such as a shared infinite whiteboard, real-time co-authored notes, and
Maven is a Java build automation tool and software build orchestrator. It functions as a project lifecycle manager and dependency management system, using a standardized project object model to compile, test, and package Java projects. The project distinguishes itself through a phase-based build lifecycle and a plugin-based extension model, allowing users to bind custom goals to specific build stages. It coordinates complex software through multi-module project orchestration and ensures a reproducible build workflow by neutralizing environmental variables and controlling toolchain versions.
Instantiator is a PHP library designed to create class instances without invoking their constructors. It uses the PHP Reflection API to allocate objects in memory and initialize them in a predefined state, bypassing standard constructor logic. The project functions as a data hydration tool and a testing helper. It enables the population of PHP objects from external data sources by mapping values directly to properties, regardless of whether those properties are public, protected, or private. This capability allows for the generation of objects in specific internal states for unit tests withou
Aliucord is a modified version of the Discord Android application that functions as a plugin-based app extender. It allows for the installation of third-party plugins and deep customization of the mobile client without requiring a full rebuild of the binary. The project provides a framework for loading external code modules at runtime and includes a management system for installing and updating these extensions. It features a dedicated telemetry blocker designed to prevent the application from sending tracking and analytics data to remote servers. Additional capabilities include a crash logg
This project is a reference Kotlin Android application template and a set of sample implementations demonstrating Clean Architecture principles. It provides a structural design that isolates core business rules from the user interface and data sources into distinct, layered modules. The implementation focuses on the Model-View-ViewModel (MVVM) pattern to decouple UI logic from data models. It utilizes a dependency injection framework to automate object creation and manage component lifecycles, while employing a repository pattern to abstract data requests across memory, disk, and cloud source
NaughtyAttributes is a collection of custom attributes for the Unity Editor inspector that allows for field validation, the exposure of non-serialized properties, and the addition of custom UI controls. It functions as an extension library to customize how fields are drawn and behave within the inspector interface without requiring the author to write custom editor scripts. The library provides tools for creating interactive elements such as buttons that execute specific methods, as well as specialized input controls like sliders and dropdowns. It enables the display of native properties and
Janino is a lightweight Java compiler and scripting engine designed to transform source code into executable bytecode directly within the application heap. It functions as a runtime compiler and class loading library, enabling the dynamic definition and execution of Java classes, methods, and expressions without requiring a full application restart. The project distinguishes itself through its ability to perform in-memory compilation and recursive descent parsing, which allows for the resolution of complex dependencies and circular references during the translation process. It provides a fram
btrace is a JVM dynamic tracing tool and performance profiler used for injecting safe instrumentation scripts into a running Java Virtual Machine without requiring a process restart. It functions as a Java agent framework and a Model Context Protocol server, exposing JVM diagnostic operations and tracing tools to large language models and AI assistants. The project distinguishes itself by enabling real-time code injection and bytecode-level instrumentation via a secure binary protocol. It ensures production stability through a static safety analysis engine that blocks unstable code patterns,
This project is a clean architecture reference implementation and modular project template for Android development. It provides a structural blueprint designed to isolate business logic from external frameworks and user interfaces. The template emphasizes a modular approach to organize code into independent modules, which is intended to improve build times and long-term project scalability. It demonstrates the application of domain-driven design to keep core business rules and entities independent from the underlying platform. The implementation covers several key architectural patterns, inc