颤动生成的3个APK之间有什么区别?

问题描述 投票:0回答:2

我需要了解Android设备的体系结构,使用时为什么会生成三种不同类型的APK:

flutter build apk --split-per-abi

并且当我使用

flutter build apk

我得到一个名为fat APK的大型APK文件,其中包含该应用程序的3个版本。

android flutter apk android-architecture-components
2个回答
1
投票

flutter build apk为您带来了较大的apk,因为

flutter build apk会生成一个胖APK,其中包含为所有目标ABI编译的代码。此类APK的大小要大于拆分后的相应APK,导致用户下载不适用于其设备架构的本机二进制文件。


--split-per-abi产生两个APK文件:

(flutter build命令默认为--release。]

<app dir>/build/app/outputs/apk/release/app-armeabi-v7a-release.apk
<app dir>/build/app/outputs/apk/release/app-arm64-v8a-release.apk

其中armeabi-v7a是32位设备,而arm64-v8a是64位设备。

了解更多https://flutter.dev/docs/deployment/android#build-an-apkhttps://flutter.dev/docs/deployment/android#build-an-app-bundlehttps://developer.android.com/studio/build/configure-apk-splits#configure-split


0
投票

命令flutter build apk --split-per-abi通常会生成两个APK文件。

  1. [arm64或x86_64是具有64位处理器的设备的apk文件。
  2. [x86是32位处理器的apk文件。

您都可以将它们都上传到PlayStore上,并根据用户的设备架构安装相应的apk。

使用flutter build apk时获得的胖apk包含了以所有应用程序二进制接口或ABI为目标的必要编译代码。一旦用户下载了该繁琐的APK,则仅使用适用于该设备的代码。

© www.soinside.com 2019 - 2024. All rights reserved.