APK文件20MB正常吗?

Posted

技术标签:

【中文标题】APK文件20MB正常吗?【英文标题】:Is 20MB normal for an APK file? 【发布时间】:2020-09-24 23:30:07 【问题描述】:

我为我的项目制作了.apk 文件,它的大小是19.4MB,这正常吗? 我使用了命令:

flutter build apk --release 该命令会生成 apk 文件,但是会输出以下消息:

You are building a fat APK that includes binaries for android-arm, android-arm64, android-x64.
If you are deploying the app to the Play Store, it's recommended to use app bundles or split the APK to reduce the APK size.
    To generate an app bundle, run:
        flutter build appbundle --target-platform android-arm,android-arm64,android-x64
        Learn more on: https://developer.android.com/guide/app-bundle
    To split the APKs per ABI, run:
        flutter build apk --target-platform android-arm,android-arm64,android-x64 --split-per-abi
        Learn more on:  https://developer.android.com/studio/build/configure-apk-splits#configure-abi-split

【问题讨论】:

【参考方案1】:

20MB 是正常大小,但您的大部分应用程序大小是由 android-arm、android-arm64 和 android-x64 的二进制文件提供的。 在特定设备中,根据设备硬件,即设备的 abi,​​将仅使用其中一个二进制文件。

建议使用 app bundle,因为 Google 会自动为每个 abi 创建 APK,从而减少应用程序的大小。

例如,Play Store 将为 android-arm、android-arm64 和 android-x64 ABI 创建单独的 apk。

【讨论】:

如果我要使用 app bundles.. 我会得到 3 个文件。我必须将它们全部导入单独的应用程序还是同一个应用程序? 很好的答案!您知道 app bundle 大小与 apk 大小的区别吗? Nvm,只是一个文件。叫:app.aab。对吗? @TomeR 是的,那里只有一个文件。 @WilsonWilson 这完全取决于您的应用程序,即您使用的库。 Apk 包含所有 abis 的代码。因此,如果您有四个 abi,​​它将具有核心模块,然后为所有四个 abis 编写代码。您可以在 Google Play 开发者控制台上查看每个 abi 的确切大小。导航到您的应用程序 > 发布管理 > 应用程序发布,然后单击管理(在生产或 Beta 或 Alpha 版本上),您将获得一个选项“探索 App Bundle”。单击它,您将获得每个 abi 应用程序的确切大小。【参考方案2】:

是的,apk 文件是正常的。您已经为 x64 、 arm 等多进程支持构建了二进制文件,这就是为什么大小更适合您的情况。但它不会产生任何问题。您可以通过仅为您要运行应用的目标平台构建二进制文件来减小 apk 的大小。

【讨论】:

以上是关于APK文件20MB正常吗?的主要内容,如果未能解决你的问题,请参考以下文章

怎样给你的Android 安装文件(APK)瘦身

如何制作.apk文件[重复]

您需要将 APK 文件大小减少到 100MB 或使用 APK 扩展文件 [重复]

Android:构建一个 APK 几乎是嵌入视频文件大小的两倍?

Flutter APK 大于 100 MB

使用 OpenCV 时巨大的 apk 文件大小