前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[Android] Facebook Redex 压缩优化Apk实践

[Android] Facebook Redex 压缩优化Apk实践

作者头像
岛哥的质量效能笔记
发布2021-08-18 17:14:03
1.3K0
发布2021-08-18 17:14:03
举报
文章被收录于专栏:岛哥的质量效能笔记

最近Facebook 又放出了一个用于Android apk字节码优化的工具包——redex,经过redex的优化apk会变的体积更小,速度更快。至于原理大家可以到https://code.facebook.com/posts/1480969635539475/optimizing-android-bytecode-with-redex这个网站去看,今天我想分享一下具体的实践过程。

前两天刚看到FB放出的这个工具包就迫不及待的去尝试了下,结果一直报下面这个错误:

configure: error: Please install double-conversion library

但其实这些library都已经安装好了的,那天倒腾了好久也跟群里的朋友交流过,感觉应该是FB的一个小bug于是去github上提了issue,果然第二天得到了回应官方更新了使用说明。下面是我在Mac OS X上的实践过程:

1、首先需要你的Xcode安装了命令行工具:

xcode-select --install

2、利用homebrew安装依赖包:

brew install autoconf automake libtool python3 brew install boost double-conversion gflags glog libevent openssl brew link openssl --force

3、通过Git将redex的源码checkout到电脑上:

git clone https://github.com/facebook/redex.git cd redex git submodule update --init

4、通过autoconf和make来构建redex:

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

在执行步骤四的时候就出现了问题:

configure: error: Please install google-gflags library configure: error: ./configure failed for third-party/folly/folly

于是我又提了issue,下面是跟沟通的过程:

按照他的方法执行下面的命令:

xcode-select --install sudo xcode-select --switch /Library/Developer/CommandLineTools/

再执行步骤四就OK了当然如果看到很多warn也不用担心,最终可以编译通过。

接下来就可以通过redex执行最后的优化命令了:

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

不过这里又出现了个问题:

又是环境问题? ,下面是配置过程:

mafeideAir:~ mafei$ vi ~/.bash_profile export PATH=/Users/mafei/Development/adt-bundle-mac-x86_64-20140702/sdk/build-tools/23.0.2:$PATH

因为这个是系统只读文件所以退出的时候要输入!wq才行

这下执行下面的命令就完全没问题啦!

mafeideAir:~ mafei$ cd GitHub/ mafeideAir:GitHub mafei$ cd redex/ mafeideAir:redex mafei$ redex metis_release_v1.0.2.apk -o out.apk

刚刚又去看了下redex的官网发现FB已经把这几天遇到的一些典型问题都汇总了一下:

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2016-04-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 岛哥的质量效能笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
SSL 证书
腾讯云 SSL 证书(SSL Certificates)为您提供 SSL 证书的申请、管理、部署等服务,为您提供一站式 HTTPS 解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档