react-native init appname

一个空包,然后运行

react-native run-android

测试react native 0.67默认打包

结果打包出来的debug 包大小为:40.626KB(40.6M)

使用WinRAR 打开apk包,确定RN 默认 ndk 包括 "armeabi-v7a", "x86", "arm64-v8a", "x86_64"。

我们开始打包release APK包:

cd android 然后 gradlew assembleRelease。

结果打包出来的release包大小为:27.971KB(27.9M)

确认 ndk 包括 "armeabi-v7a", "x86", "arm64-v8a", "x86_64"。

测试开启 Hermes JavaScript引擎打包

下一步,我们再开启 Hermes JavaScript引擎,看看apk 包大小是多少。

打开文件:android\app\build.gradle

把enableHermes: false 改为enableHermes: true

然后react-native run-android 打包debug包

结果打包出来的debug 包大小为:35.985KB(35.9M)

确认 ndk 包括 "armeabi-v7a", "x86", "arm64-v8a", "x86_64"。 

我们再继续打包release包

结果打包出来的release 包大小为:21.598KB(21.5M)

 确认 ndk 包括 "armeabi-v7a", "x86", "arm64-v8a", "x86_64"。

至此,react-native 0.67打包的最小空包为21.5M,但是通常我们手机只需要ndk 包括 "armeabi-v7a", "x86"就可以运行,所以我们减少ndk继续打包测试最小的apk size。

测试NDK只有"armeabi-v7a", "x86"两个时候打包大小

在文件android\app\build.gradle中添加 配置:

ndk {

            abiFilters "armeabi-v7a", "x86"

}

结果打包出来的debug 包大小为:19.627KB(19.6M)

继续打包release包:

结果打包出来的release包大小为:12.353KB(12.3M)

最后我们再来对bundle进行压缩后打包测试

结果release包大小:10.888KB(10.8M)

至此,react native 0.67版本打包 测试完毕:react-native 打包最小为10.8M

后来我又按照上面的方式继续测试react native v0.64.3版本打包,最小包为9.594KB(9.5M)

后来又测试了react native v0.62..3 最小包为 7.767KB(7.7M)

 

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐