# facebook/redex

**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/facebook-redex).**

6,292 stars · 678 forks · C++ · MIT

## Links

- GitHub: https://github.com/facebook/redex
- Homepage: https://fbredex.com/
- awesome-repositories: https://awesome-repositories.com/repository/facebook-redex.md

## Description

A bytecode optimizer for Android apps

## Tags

### Mobile Development

- [Bytecode Optimizers](https://awesome-repositories.com/f/mobile-development/bytecode-optimizers.md) — Provides the core bytecode optimization engine that shrinks and speeds up Android APKs. ([source](https://fbredex.com/docs/getting_started/usage/))
- [Android Performance Optimizations](https://awesome-repositories.com/f/mobile-development/android-performance-optimizations.md) — Shrinks and speeds up Android APKs by applying bytecode optimization passes.

### Data & Databases

- [Android Bytecode Shrinkers](https://awesome-repositories.com/f/data-databases/binary-size-calculation/installation-package-size-estimators/android-bytecode-shrinkers.md) — Removes unused code and resources from Android bytecode to produce a smaller application package. ([source](https://cdn.jsdelivr.net/gh/facebook/redex@main/README.md))

### Development Tools & Productivity

- [DEX Analyzers](https://awesome-repositories.com/f/development-tools-productivity/java-bytecode-viewers/dex-to-class-converters/android-dex-unpackers/dex-analyzers.md) — Reads and transforms .dex files through a structured framework for custom optimization passes. ([source](https://cdn.jsdelivr.net/gh/facebook/redex@main/README.md))
- [Type Preservation for Reflection](https://awesome-repositories.com/f/development-tools-productivity/type-preservation-for-reflection.md) — Prevents deletion of classes or interfaces referenced through reflection or instanceof checks.

### DevOps & Infrastructure

- [APK Package Managers](https://awesome-repositories.com/f/devops-infrastructure/distribution-packaging/software-distribution/application-packaging/android-packages/apk-loaders/apk-package-managers.md) — Removing unused code and resources from compiled Android bytecode to produce a smaller application package. ([source](https://fbredex.com/docs/getting_started/))

### Programming Languages & Runtimes

- [DEX-to-IR Pipelines](https://awesome-repositories.com/f/programming-languages-runtimes/compiler-interpreter-internals/compiler-infrastructure/intermediate-representations/bytecode/transformation-pipelines/dex-to-ir-pipelines.md) — Transforms Android bytecode through a sequence of passes operating on an intermediate representation.

### Scientific & Mathematical Computing

- [Pass-Based Optimizations](https://awesome-repositories.com/f/scientific-mathematical-computing/high-performance-execution-environments/quantum-computing/quantum-circuit-design/quantum-circuit-transpilation/pass-based-optimizations.md) — Runs independent optimization passes in a configurable sequence, each mutating the shared IR.

### Security & Cryptography

- [APK Size Optimizers](https://awesome-repositories.com/f/security-cryptography/binary-unpacking/android-apk-unpackers/apk-size-optimizers.md) — Remove unused code and resources from Android bytecode to reduce the final APK file size. ([source](https://cdn.jsdelivr.net/gh/facebook/redex@main/README.md))

### Software Engineering & Architecture

- [Bytecode Execution Optimizers](https://awesome-repositories.com/f/software-engineering-architecture/function-execution-timing/stream-execution-timing/bytecode-execution-optimizers.md) — Reduces execution time and memory usage by optimizing bytecode instructions during app operation. ([source](https://fbredex.com/))
- [Keep Rule Engines](https://awesome-repositories.com/f/software-engineering-architecture/keep-rule-engines.md) — Preserves classes and members matching ProGuard-style keep rules to prevent removal of reflection-accessed code.
- [Obfuscation and Shrinking Rules](https://awesome-repositories.com/f/software-engineering-architecture/obfuscation-and-shrinking-rules.md) — Protects specific classes and interfaces from removal during bytecode shrinking by accepting ProGuard configuration files.
