为什么
flutter build apk --release
的尺寸比flutter run --release
的尺寸大,这样就缩小了一半。我需要获得更精简的应用程序大小。
我们应该知道
flutter run --release
仅针对目标 ABI 进行编译(因为您直接在设备上运行生成的 APK)。同时,flutter build apk --release
会生成一个胖APK(通用APK),其中包含为所有目标ABIs编译的代码,因此,您可以在任何设备上安装此APK。
可以编译 Flutter 应用程序
在 Flutter 中,构建是指获取源代码并将其转换为可部署应用程序的过程。 Flutter 中有两种类型的构建:调试构建和发布构建。 调试版本用于开发和测试。它们是在启用调试符号的情况下构建的,这使得调试代码变得更加容易。调试版本还包括一个调试器,它允许您暂停代码的执行并检查变量和调用堆栈。 发布版本用于将应用程序部署到应用程序商店或分发给用户。它们是在删除调试符号的情况下构建的,这使得应用程序更小、更快。发布版本还启用了优化,这使得应用程序更快。 要在 Flutter 中创建发布版本,您可以使用带有 --release 标志的 flutter build 命令。例如:
flutter build apk --release
这将在 build/app/outputs/apk 目录中创建应用程序的发布版本。
目前Android智能手机使用的CPU架构主要有3种。
flutter run --release
仅针对您连接的设备 ABI(应用程序二进制接口)进行编译。因此,您只能在那些与您的设备匹配的设备上安装该应用程序。
flutter build apk --release
针对所有架构进行编译,这就是为什么您可以在任何设备或任何 CPU 架构上安装您的 apk。