android 压缩大小 打包_react-native优化--压缩apk安装包大小

一个简单的react-native HelloWorld项目打包后的大小是7MB多,对于现有项目集成react-native来说是一个不小的负担。而拆开apk包占据大部分容量的是react-native的so,所以我们的法子是怎么减少打包的so。本文讲的方法对于很多只是在现有项目中集成react-native做部分业务模块实验目的的用户来说是肥肠有用的。

废话少说先来一个压缩so惯用的伎俩:

只保留armeabi so

大家惯用的伎俩了,不多解释直接上个删除其他abi的gradle代码方便大家

splits {

abi {

enable true

reset()

include 'armeabi'

}

}

react-native so不打包进apk,而是从网络下载

react-native能运行的api level需要>=16,意味着android 4.1以下系统是跑不了react-native的。对于android 4.1以下系统那么干脆禁掉react-native独立打包或许是个不错的选择。但是你能独立对android 4.1以下系统独立打包,用户不会乖乖下载指定系统的安装包的。所以我在这里提出一个更加彻底的方案:所有react-native的so都不打包进apk,而是在用户启动后下载react-native的so再放置到lib目录。

将react-native做成动态下载so,面临的一个技术问题是程序安装包的lib目录没有写入权限的。所以我们得想法子让react-native从其他目录加载so而不是从默认的so目录。幸运的是reac-native是用SoLoader库来加载so。我们可以从SoLoader入手对SoLoader代码修改或者是hack让它从指定的目

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值