GithubHelp home page GithubHelp logo

winziyuan / redex Goto Github PK

View Code? Open in Web Editor NEW

This project forked from facebook/redex

0.0 1.0 0.0 1.12 MB

A bytecode optimizer for Android apps

Home Page: http://fbredex.com/

License: Other

Makefile 0.19% Lex 0.58% Yacc 0.62% C++ 88.40% M4 1.26% C 5.11% Python 1.95% Shell 0.14% Java 1.76%

redex's Introduction

ReDex: An Android Bytecode Optimizer

ReDex is an Android bytecode (dex) optimizer originally developed at Facebook. It provides a framework for reading, writing, and analyzing .dex files, and a set of optimization passes that use this framework to improve the bytecode. An APK optimized by ReDex should be smaller and faster than its source.

Quick Start Guide

Dependencies

ReDex depends on folly, glog, double-conversion, boost and zlib, and uses autoconf/automake for building. Getting these dependences is easiest using a package manager.

Mac OS X:

brew install autoconf automake libtool
brew install boost double-conversion gflags glog libevent

Ubuntu 14.04 LTS:

sudo apt-get install \
    g++ \
    automake \
    autoconf \
    autoconf-archive \
    libtool \
    libboost-all-dev \
    libevent-dev \
    libdouble-conversion-dev \
    libgoogle-glog-dev \
    libgflags-dev \
    liblz4-dev \
    liblzma-dev \
    libsnappy-dev \
    make \
    zlib1g-dev \
    binutils-dev \
    libjemalloc-dev \
    libssl-dev \
    libiberty-dev

Download, Build and Install

ReDex includes folly as a git submodule. Initialize it using:

git submodule update --init

Now, build ReDex using autoconf and make.

autoreconf -ivf && ./configure && make && make install

Usage

To use ReDex, first build your app and find the APK for it. Then run:

redex path/to/your.apk -o path/to/output.apk

With any luck, the result output.apk should be smaller and faster than the input. Enjoy!

More Information

The blog Optimizing Android bytecode with ReDex provides an overview of the Redex project.

License

ReDex is BSD-licensed. We also provide an additional patent grant.

redex's People

Contributors

bertmaher avatar dariorussi-zz avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.