Redex 集成踩坑

本文详细介绍了在MacOS上配置环境并安装Redex的步骤,包括通过Homebrew安装老版本和从源码编译最新版本。同时,提供了如何使用Redex优化APK,处理Proguard映射文件,遵循Proguard规则以及处理签名问题的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一. 配置环境(MacOS)

xcode-select --install

brew install autoconf automake libtool python3

brew install boost jsoncpp

 

二. 安装Redex

方式一: Homebrew 有直接可体验版本,但比较老,不支持D8编译器产生的APK

brew install redex

 

方式二: Clone源码编译最新版本,支持D8编译器

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

 

2)安装老版本的boost, 最新版本1.70有bug,导致源码编译失败,看issue描述boost会在1.71版本修复这个bug。 1.70以后的releaes版本应该不需要安装旧版本了

 

PS:不要用brew install boost@1.69这种带版本号的方式安装其他版本,会导致环境路径有误,编译还是会出错。

 

brew uninstall boost

brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/b4de2e1ce084ec249ca61c3eff6f96617e38c081/Formula/boost.rb

 

3)编译源码

cd redex

autoreconf -ivf && ./configure && make

 

4)如果之前通过homebrew安装过redex,先卸载

brew uninstall redex

然后

sudo make install

 

至此,Redex应该是正确安装了。

 

三. 使用

1. 源码中的/config文件夹下有两个配置,可以使用defalut.config来使用一下Redex

 

redex /path/to/apk/ -c default.config -o path/to/output/apk/

 

2. 如果处理的是proguard过的apk,需要在配置文件中配置proguard的mapping文件,帮助redex识别混淆的代码

 

"proguard_map":"/Path/to/proguard_mapping_release.txt"

 

3. 可以通过-P指定一个Proguard rule, 使Redex遵循Prouard的rule防止误删类

-P common.cfg

 

4. 如果执行时有报错,可以根据实际情况修改default.config中的passes节点,关闭导致错误的pass配置

 

5. 经过Redex处理过的apk需要重新签名

1)简单debug自动签名可用--sign处理,不然无法安装

2)用-s 指定keystore文件 -s path/to/android/keystore --sign

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值