ReDex
1.1、ReDex简介
是什么 ?:an Android Bytecode Optimizer which 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.
开发语言:C++
开发公司:Facebook
官方主页:https://fbredex.com
源码仓库:https://github.com/facebook/redex
1.2、通过包管理器安装ReDex
操作系统包管理器安装命令
GNU-LinuxLinuxBrewbrew install redex
macOSHomeBrewbrew install redex
GNU/LinuxLinuxBrewbrew install redex

Arch Linux

ArcoLinux

Manjaro Linux

yayyay -Syyu --noconfirm
yay -S    --noconfirm redex
1.3、在Ubuntu中通过源码安装Redex

step1、通过apt-get安装依赖

sudo apt-get install \
    g++ \
    automake \
    autoconf \
    autoconf-archive \
    libtool \
    libboost-all-dev \
    liblz4-dev \
    liblzma-dev \
    make \
    zlib1g-dev \
    binutils-dev \
    libjemalloc-dev \
    libiberty-dev \
    libjsoncpp-dev

step2、通过git下载ReDex源码

git clone https://github.com/facebook/redex.git

step3、进入源码目录

cd redex

step4、配置、编译、安装

autoreconf -ivf && ./configure && make && sudo make install
1.4、通过Docker安装Redex

Redex的源码安装方式在不同的操作系统中,要安装的依赖太多,大多在不多的系统中的包名称不一样, 官方也只是提供了Ubuntu上的依赖包, 没有提供其他操作系统中对用的依赖包。所以,我们干脆就 直接基于Ubuntu基础镜像构建我们自己的镜像。Dockerfile文件我已经写好了。

构建镜像:

docker build -t fpliu/redex:latest https://raw.githubusercontent.com/leleliu008/auto/master/redex/Dockerfile

创建容器并启动:

docker run -it --name redex -v ~/Downloads/:/opt/ fpliu/redex:latest /bin/bash

这样把当前宿主机上的~/Downloads/目录就mount到了容器的/opt/上了, 也就是说~/Downloads/目录就相当于是宿主与容器之间的共享目录。

Redex官方提供的Docker镜像很久都没有维护了,所以,我们才自己构建的。

1.5、redex命令
redex path/to/your.apk -o path/to/output.apk

注意:如果您使用ProGuard进行了优化、混淆,那么再使用此工具进行优化,能够优化的空间非常小了。