【问题标题】:Flutter release apk颤振发布 apk
【发布时间】:2020-04-22 17:08:25
【问题描述】:

我想知道运行flutter run --release命令生成的apk文件是否与flutter build apk不同。哪个更适合上传到游戏商店。?我刚刚尝试了这两个命令,apk 大小的差异真的很大。 release 命令产生的 apk 大小要小得多。 总之,我想知道的是因为 Flutter build apk =>> 胖 apk。 做 Flutter run --release =>> 拆分apk?

【问题讨论】:

  • Flutter run release 用于生产,flutter build apk 用于调试

标签: flutter flutter-dependencies


【解决方案1】:

flutter run --release: 构建应用的发布版本并直接启动它,然后显示控制台 UI 以操作正在运行的实例。source flutter wiki

当您需要最大程度的优化和最小的占用空间时,使用发布模式来部署应用程序。对于移动设备,发布模式(模拟器或模拟器不支持)意味着:

  • 断言被禁用。
  • 调试信息被剥离。
  • 调试已禁用。
  • 编译针对快速启动、快速执行和小包大小进行了优化。
  • 服务扩展被禁用。 (应用更小)

flutter build apk 会生成一个 fat,它是一个包含多个 ABI 二进制文件的 APK,其中嵌入了多个 ABI。这样做的好处是单个 APK 可以在多个架构上运行,因此具有更广泛的兼容性,但它的缺点是文件大小要大得多,导致用户在安装应用程序时下载和存储更多字节。在构建 APK 而不是 app bundle 时,强烈建议构建拆分 APK

虽然 app bundle 比 APK 更受青睐,但有些商店还不支持 app bundles

我应该什么时候构建 app bundle 而不是 APK?

Google Play 商店建议您通过 APK 部署 app bundle,因为这样可以更高效地将应用交付给您的用户。但是,如果您通过 Play 商店以外的方式分发应用程序,则 APK 可能是您唯一的选择。

阅读更多from the docs

【讨论】:

  • 谢谢,但这是否意味着来自 flutter run --release 的 apk 是一个拆分 apk?
  • 换句话说,如果我想在我的设备上安装我的应用程序的发布版本,我只需运行flutter run --release,如果我想部署(播放商店),我会运行flutter build appbundle。谢谢
  • 是的..并且不要忘记签署您的应用程序以发布到 Playstore
  • 但这两者有什么区别?
【解决方案2】:

您可以使用此命令拆分 apk

flutter build apk --target-platform android-arm,android-arm64,android-x64 --split-per-abi

【讨论】:

    猜你喜欢
    • 2021-06-01
    • 2020-12-30
    • 2021-08-18
    • 1970-01-01
    • 2022-01-01
    • 2020-12-25
    • 2020-10-24
    • 2020-08-25
    • 2021-11-16
    相关资源
    最近更新 更多