10 repositorios
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.
Este proyecto es una plantilla de aplicación Android de referencia en Kotlin y un conjunto de implementaciones de muestra que demuestran los principios de Clean Architecture. Proporciona un diseño estructural que aísla las reglas de negocio centrales de la interfaz de usuario y las fuentes de datos en módulos distintos y en capas. La implementación se centra en el patrón Model-View-ViewModel (MVVM) para desacoplar la lógica de UI de los modelos de datos. Utiliza un framework de inyección de dependencias para automatizar la creación de objetos y gestionar los ciclos de vida de los componentes, mientras emplea un patrón de repositorio para abstraer las solicitudes de datos a través de fuentes de memoria, disco y nube. La arquitectura incorpora una organización de paquetes basada en características y configuraciones de compilación modulares para mantener la consistencia en todo el proyecto. También incluye una estrategia de pruebas integral que combina pruebas unitarias para la lógica de negocio con instrumentación para la UI y módulos de simulación (mock) para la validación de la capa de datos.
Employs strategies for decoupling the application into independent feature modules to optimize structure and build consistency.
CC es un framework de componentización de Android y herramienta de modularización diseñada para transformar aplicaciones monolíticas en componentes independientes. Proporciona un sistema para lanzar y depurar componentes individuales de forma aislada para reducir los tiempos de compilación y una capa de comunicación para ejecutar funciones a través de diferentes procesos de Android utilizando una interfaz unificada. El proyecto utiliza un plugin de bytecode en tiempo de construcción para registrar automáticamente componentes e interceptores, eliminando la necesidad de configuración manual de código repetitivo. Admite la migración de arquitectura incremental, permitiendo que una base de código se mueva hacia una estructura componentizada gradualmente sin requerir una reescritura completa. El framework maneja el mapeo de componentes a través de interfaces compartidas y enruta las llamadas a través de un pipeline de solicitudes basado en interceptación. Estas capacidades facilitan la gestión de módulos desacoplados y la invocación de servicios entre procesos.
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.