# alibaba/andfix

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/alibaba-andfix).**

6,998 stars · 1,598 forks · C++ · other

## Links

- GitHub: https://github.com/alibaba/AndFix
- awesome-repositories: https://awesome-repositories.com/repository/alibaba-andfix.md

## Topics

`android` `hotfix`

## Description

AndFix is a binary patching framework and update system for Android applications. It provides tools for generating binary diffs and applying runtime method replacements to fix bugs without requiring a full application update.

The system utilizes a binary diff generator to isolate minimal code changes between package versions. It supports the consolidation of multiple incremental patches into a single update file and employs native hooks to replace specific method implementations in memory during the application initialization phase.

The framework covers capabilities for binary patch generation, patch management, and incremental update delivery. These processes enable the injection of patched bytecode into the application runtime to resolve logic errors and crashes.

## Tags

### Development Tools & Productivity

- [Runtime Logic Hot-Updates](https://awesome-repositories.com/f/development-tools-productivity/client-update-utilities/runtime-logic-hot-updates.md) — Provides a framework for updating mobile app logic and fixing bugs at runtime without full reinstalls.
- [Hot-Patching Tools](https://awesome-repositories.com/f/development-tools-productivity/hot-patching-tools.md) — Loads and activates downloaded patch files during initialization to update logic without restarting. ([source](https://cdn.jsdelivr.net/gh/alibaba/andfix@master/README.md))

### DevOps & Infrastructure

- [Binary Delta Generators](https://awesome-repositories.com/f/devops-infrastructure/deployment-management/installation-package-management/binary-and-source-installation/remote-binary-updaters/binary-delta-generators.md) — Calculates and creates byte-level difference packages between two software releases.

### Mobile Development

- [Android Application Update Systems](https://awesome-repositories.com/f/mobile-development/android-application-update-systems.md) — Delivers and merges small binary patches to maintain application stability between official release cycles.
- [Runtime Code Injection](https://awesome-repositories.com/f/mobile-development/distribution-updates/over-the-air-updates/runtime-code-injection.md) — Dynamically loads and executes patched bytecode within the application runtime during initialization.

### Operating Systems & Systems Programming

- [Binary Diffing](https://awesome-repositories.com/f/operating-systems-systems-programming/binary-analysis-capabilities/binary-diffing.md) — Provides bytecode-level comparison of binary files to identify minimal structural changes.

### Software Engineering & Architecture

- [Binary Patching Utilities](https://awesome-repositories.com/f/software-engineering-architecture/binary-patching-utilities.md) — Provides a system for modifying compiled software binaries to alter functionality and fix bugs.
- [Binary](https://awesome-repositories.com/f/software-engineering-architecture/code-patching-engines/patch-generators/binary.md) — Generates minimal binary patch files by comparing a fixed package against an older version. ([source](https://cdn.jsdelivr.net/gh/alibaba/andfix@master/README.md))
- [Runtime Method Patching](https://awesome-repositories.com/f/software-engineering-architecture/runtime-method-patching.md) — Replaces the implementation of methods in a running application using native hooks.
- [Patch Consolidation](https://awesome-repositories.com/f/software-engineering-architecture/code-patching-engines/patch-generators/automated-patch-appliers/patch-consolidation.md) — Combines several single-fix patch files into a single consolidated update to streamline delivery. ([source](https://cdn.jsdelivr.net/gh/alibaba/andfix@master/README.md))
- [Incremental Update Chains](https://awesome-repositories.com/f/software-engineering-architecture/incremental-update-chains.md) — Implements incremental update chains to deliver a sequence of signed patches.

### User Interface & Experience

- [Method Hooking](https://awesome-repositories.com/f/user-interface-experience/font-rasterizers/api-interception-hooks/method-hooking.md) — Implements method hooking to redirect function calls at runtime via memory injection.

### Data & Databases

- [Patch Consolidation](https://awesome-repositories.com/f/data-databases/game-rom-organization/rom-set-management/binary-patching/patch-consolidation.md) — Allows merging multiple small bug fixes into a single consolidated binary update file.
