10 Repos
Strategies for decoupling large Android applications into smaller, independent feature plugins to optimize binary size.
Distinct from Android App Execution: Shortlist candidates focus on execution, navigation, or containers, not the architectural modularization of the app.
Explore 10 awesome GitHub repositories matching mobile development · Android App Modularization. Refine with filters or upvote what's useful.
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
Utilizes modular architectural patterns to separate UI logic for automotive, wearable, and television form factors.
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
Provides a comprehensive guide to organizing Android project source code into modular components and managing dependencies via Maven.
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
Supports developing decoupled application components that can be loaded as plugins to reduce main app size.
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
Organizes large applications into independent modules with their own lifecycles to simplify development for large teams.
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
Provides a framework for adding new features to an existing Android app via plugins to avoid monolithic builds.
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
Decouples large application features into independent plugins to reduce main binary size and improve development agility.
Dieses Projekt ist eine Kotlin-Android-Referenzanwendung und eine Reihe von Beispielimplementierungen, die Prinzipien der Clean Architecture demonstrieren. Es bietet ein strukturelles Design, das Kern-Geschäftsregeln von der Benutzeroberfläche und den Datenquellen in distinkte, geschichtete Module isoliert. Die Implementierung konzentriert sich auf das Model-View-ViewModel-Muster (MVVM), um UI-Logik von Datenmodellen zu entkoppeln. Sie nutzt ein Dependency-Injection-Framework, um die Objekterstellung zu automatisieren und Komponenten-Lebenszyklen zu verwalten, während sie ein Repository-Muster verwendet, um Datenanfragen über Speicher-, Festplatten- und Cloud-Quellen hinweg zu abstrahieren. Die Architektur integriert eine funktionsbasierte Paketorganisation und modulare Build-Konfigurationen, um Konsistenz über das Projekt hinweg zu wahren. Sie enthält zudem eine umfassende Teststrategie, die Unit-Tests für Geschäftslogik mit Instrumentierung für die UI und Mock-Module für die Validierung der Datenebene kombiniert.
Employs strategies for decoupling the application into independent feature modules to optimize structure and build consistency.
CC ist ein Android-Komponentisierungs-Framework und Modularisierungstool, das entwickelt wurde, um monolithische Anwendungen in unabhängige Komponenten zu transformieren. Es bietet ein System zum Starten und Debuggen einzelner Komponenten in Isolation, um Kompilierungszeiten zu reduzieren, sowie eine Kommunikationsschicht für die Ausführung von Funktionen über verschiedene Android-Prozesse hinweg unter Verwendung einer einheitlichen Schnittstelle. Das Projekt nutzt ein Bytecode-Plugin zur Build-Zeit, um Komponenten und Interceptoren automatisch zu registrieren, wodurch die Notwendigkeit manueller Boilerplate-Konfiguration entfällt. Es unterstützt die inkrementelle Architekturmigration, was es ermöglicht, eine Codebasis schrittweise in eine komponentisierte Struktur zu überführen, ohne eine vollständige Neuentwicklung zu erfordern. Das Framework handhabt Komponenten-Mapping über gemeinsame Schnittstellen und leitet Aufrufe über eine Interception-basierte Request-Pipeline weiter. Diese Funktionen erleichtern die entkoppelte Modulverwaltung und den prozessübergreifenden Service-Aufruf.
Ships a system for launching and debugging individual Android components in isolation to reduce compilation times.
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
Implements strategies for decoupling Android applications into smaller modules to optimize binary size and download efficiency.
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
Organizes the Android codebase into independent modules to optimize build times and scalability.