问题描述
我正在制作一个具有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:
这些文件占用更多空间。有什么办法可以减少发布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 Size和flutter.dev:Build Modes