应用程序大小增加了3倍,如何减小大小

3

我创建了一个Android应用程序,它有2个活动和10个片段。这是我第一次发布应用程序。当我首次分析应用程序时,它的大小很小。当我尝试通过该apk安装时,设备说它只是测试版。

第一次分析

当我构建一个apk并进行分析时,其大小增加了3倍。

构建后的分析

我很困惑为什么我的应用程序大小会增加。


谢谢,我注意到了,但问题是,它们必要吗?因为我想发布这个应用程序,我不认为任何人会下载那么大的apk(我的构建apk大小为50mb)。 - Sahil Goyal
3个回答

2
这两个截图说明了原因:第一个版本仅包含armv7(32位)的库,而另一个截图显示包含x86、armv7和armv8的库。该库大小为11至15MB,将其包含三次会增加应用程序的大小。

由于每个设备只需要其中一个库,您可以通过将应用程序拆分成app-bundle来减小下载大小。打包的应用程序被拆分成几个部分,如果用户安装了应用程序,则Google Play仅下载当前设备所需的那些部分。因此,只有其中一个库会被加载。

谢谢,只有一个最后的疑问。您是说要上传捆绑包而不是APK文件。然后Google Play只会下载必要的部分。因此,最终将从18MB(下载大小)中删除约10MB。用户只需要下载大约8MB的应用程序? - Sahil Goyal
@SahilGoyal 实际上,一个捆绑的应用程序不再是一个APK文件,而是一堆文件。您将包含所有APK文件的捆绑包上传到Google,对于下载,Google仅向用户发送所需的APK文件,因此应用程序大小在您的情况下再次变小,约为8MB? - Robert
非常感谢你。这是我第一次,突然增加如此之大的尺寸让我很担心,但是你救了我。 - Sahil Goyal

1
似乎您的应用程序使用了本地库。问题在于,本地库是特定于平台的。本机ARM库不能用于x86,反之亦然。
因此,Android Studio必须为Android的三种常见架构构建本地库:ARMv7、ARMv8和x86。这就是尺寸增加的原因。您不能 - 也不应该 - 删除额外的架构,因为这可能导致应用程序在某些设备上无法正常工作。这种尺寸增加在APK格式中是不可避免的。 Android App Bundles通过仅下载设备所需的内容来解决此问题。发布捆绑包的指南在链接中。

感谢您的帮助。 - Sahil Goyal

0

根据手机的处理器型号,必须安装某些库。

当您发布 App Bundle 时,只需要根据用户的手机加载资源即可。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接