Flutter SDK版本1.20中的Flutter版本APK大小非常大

问题描述

我正在制作一个具有15个屏幕的非常简单的应用程序。当我运行此命令时,请运行--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:

github

这些文件占用更多空间。有什么办法可以减少发布apk的大小。对于此类应用程序,其尺寸非常大。在我以前的fld sdk版本1.17中,30屏幕应用程序的发行apk大小不超过15 mb。

解决方法

从您的屏幕快照中显示的是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 Sizeflutter.dev:Build Modes