flutter release apk size 在 flutter sdk 1.20 版本中非常大

Flutter release apk size is very large in flutter sdk version 1.20

我正在制作一个非常简单的有 15 个屏幕的应用程序。当我 运行 这个命令 flutter 运行 --release.我发布的 apk 大小是 26.2mb,非常大。

我的颤振医生:

Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 1.20.2, on Linux, locale en_US.UTF-8)
 
[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.1)
[✓] Android Studio (version 4.0)
[!] Connected device
    ! No devices available

! Doctor found issues in 1 category.

我的 pubspec.yaml 文件包含这些依赖项:

  cupertino_icons: ^0.1.3
  flutter_svg: ^0.18.0
  provider: any
  image_picker: ^0.6.7+4
  menu_button: ^1.2.1
  pin_code_fields: ^5.0.1
  flutter_pdfview:
  path_provider:
  http:

这些文件占用较多space。有什么办法可以减少发布 apk 的大小。对于这样的应用程序,大小非常大。在我之前的flutter sdk 1.17版本中30屏app的release apk大小不超过15mb.

从您的屏幕截图中显示的是 appbundle 的大小(为所有 android 平台创建),它是所有 apk 的总和(对于所有 android 平台),而不是一个文件的大小单一平台apk。原因是 flutter run --release 默认情况下会构建 appbundle,这是上传到 playstore 时推荐的构建 appbundle 的方法。 Playstore 将分别为每个设备生成 apk 以供下载(arm64-v8、armeabi-v7a 和 x86_64)。

因此,在您的情况下,要为尺寸测量生成合适的 apk,运行:

flutter build apk --target-platform=<YOUR_TARGET_PLATFORM>

或这个(将生成 2 个 APK)

flutter build apk --split-per-abi

更多详情请参考flutter.dev: Android App Size and flutter.dev:Build Modes