当前位置: 首页 > 知识库问答 >
问题:

Flutter发布apk大小在flutter sdk 1.20版本中非常大

黄宏毅
2023-03-14

我正在制作一个有15个屏幕的非常简单的应用程序。当我运行这个命令时,快跑,放开。我发布的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的大小。对于这样的应用程序,其大小非常大。在我之前的Flatter sdk版本1.17中,30屏应用程序的发布apk大小不超过15 mb。

共有1个答案

申自明
2023-03-14

从您的屏幕截图中显示的是appbundle的大小(为所有Android平台创建),这是所有apk(所有Android平台)的总和,而不是单个平台apk的大小。原因是flutter run-默认情况下,释放将构建appbundle,这是当你上传到playstore时构建appbundle的推荐方式。playstore将为每台设备分别生成apk供下载(arm64-v8, armeabi-v7a和x86_64)。

因此,在您的案例中,要生成适合大小测量的apk,请运行:

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

或者这个(将生成2个APK)

dart prettyprint-override">flutter build apk --split-per-abi

有关更多详细信息,请参阅Flatter。开发人员:Android应用程序的大小和颤振。开发人员:构建模式

 类似资料:
  • 我正在编写一个flutter应用程序,它当前的版本是0.7.0,我已经在中指定了这个版本,并且调试APK已经在更新的版本上,但是发布APK没有更新,即使在'flutter build APK'或'flutter run-release'之后也没有更新。 释放APK: 正如您在图像上看到的,版本名是0.6.0,而不是0.7.0 调试APK: 在debug apk中,版本为0.7.0 pubspec.

  • 有一个Android应用程序是实现与和我在其他应用程序中实现相同的功能写在但ionic文件大小只有。具有类似功能的flutter(实现仍然不完整)文件大小为。 我有以下问题: > 我想知道是什么让我的apk变得更大? 这可能与代码实现或其他方面有关吗? 有人帮我减少应用程序大小吗?

  • 版本号 采用三位版本号,分别是主版本号、次版本号、修订版本号。例如 5.1.2。 参见: http://semver.org/lang/zh-CN/。 主版本号:主版本号内的所有版本必须相互兼容;与其它主版本号不一定完全兼容,尽量向下兼容。 次版本号:代表新特性增强。版本号越大特性越丰富。 修订版本号:代表BugFix版本。只做bug修复使用,版本号越大越稳定。 版本维护 最多同时维护两个版本。

  • 错误:任务“:app:LintVitalRelease”执行失败。

  • 我有一个奇怪的问题,我的调试版本工作正常,但是在签署并生成一个应用程序包后,我将其上传到Play商店,该应用程序立即崩溃(我在具有我的应用程序的商店版本的手机上运行LogCat,我看到它与AndroidX ConstraintLayout有关,但无法复制它)。我认为和版本之间有一些区别,所以我开始调试我的发布版本。 当我这样做时,Android Studio无法安装APK,出现以下错误: 安装失败

  • 我们有生成PDF文档的系统(使用Ecrion引擎)。我们正在使用时代字体。现在需要文档存档,因此我们正在从PDF切换到PDF/A,并将字体从Times 更改为Times New Roman(相同的字体)。这就是问题出现的地方 - 每个PDF / A也包括使用的字体(因为PDF / A是用于存档的PDF,因此它与字体一起出现)。问题是每个文档现在都包含“Times New Roman”,“Times