apk接入第三方sdk,so会翻倍增大。这个问题,我找了一天,最后是在对比项目的异同,发现了诡异的问题。

通过Android studio查看apk结构,Raw File Size明显比Download Size大了一倍:

通过查看多个apk,看Android官方文档,和各种资源(这个过程难熬,不过坚持就找问题),Raw File Size比Download Size都会大,但是翻倍的增加是不合理,最终apk的大小取决于这个Raw File Size,那么你构建文件是有问题。其实apk要是不突破100M,我真的不管这个事,主要接入了第三方的sdk的单单一个so文件18M,就吓到的情况从驱使自己去处理。

最后解决问题后,apk明显下降40M

各种度娘都找不到答案,那么只能自己一个配置一个的修改和实验(煎熬)。

最后找到了出来:是在build.gradle里添加了 classpath "io.objectbox:objectbox-gradle-plugin:2.3.4",同时把 apply plugin: 'io.objectbox'去掉,apk直接下降,去掉耶不碍事,主要之前用别人的sdk加上的,现在不用那个sdk,所以无大碍。

添加io.objectbox可能默认关闭压缩,把io.objectbox去掉,apk明显下降,不过在安装apk,在手机上查看应用大小是不不会减小,它只会减去io.objectbox的内存大小。

其实io.objectbox在 AndroidManifest.xml写入了extractNativeLibs="false" ,具体详情可去官网查看,这么说明一个问题发现apk增倍大可以

AndroidManifest.xml设置

android:extractNativeLibs="true"

tools:replace="android:extractNativeLibs"

可去官网查看:https://docs.objectbox.io/faq#how-much-does-objectbox-add-to-my-apk-size

 

 

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐