我创建了一个Android应用程序,它有2个活动和10个片段。这是我第一次发布应用程序。当我首次分析应用程序时,它的大小很小。当我尝试通过该apk安装时,设备说它只是测试版。 当我构建一个apk并进行分析时,其大小增加了3倍。 我很困惑为什么我的应用程序大小会增加。
这两个截图说明了原因:第一个版本仅包含armv7(32位)的库,而另一个截图显示包含x86、armv7和armv8的库。该库大小为11至15MB,将其包含三次会增加应用程序的大小。 由于每个设备只需要其中一个库,您可以通过将应用程序拆分成app-bundle来减小下载大小。打包的应用程序被拆分成几个部分,如果用户安装了应用程序,则Google Play仅下载当前设备所需的那些部分。因此,只有其中一个库会被加载。
似乎您的应用程序使用了本地库。问题在于,本地库是特定于平台的。本机ARM库不能用于x86,反之亦然。因此,Android Studio必须为Android的三种常见架构构建本地库:ARMv7、ARMv8和x86。这就是尺寸增加的原因。您不能 - 也不应该 - 删除额外的架构,因为这可能导致应用程序在某些设备上无法正常工作。这种尺寸增加在APK格式中是不可避免的。 Android App Bundles通过仅下载设备所需的内容来解决此问题。发布捆绑包的指南在链接中。