android - 如何构建符合 Google Play 64 位要求的应用程序?

在我将 APK 上传到 Play 商店后,我收到了以下警告。为了满足 64 位要求,我应该进行哪些更改才能使用 Flutter SDK 发布 APK 构建?

警告信息:

最佳答案

Edit/Update:谷歌在稳定 channel 发布了 Flutter 1.7.8+hotfix.3,方便构建发布应用。

现在您有两个构建选项:

  1. 应用程序包(首选)
  2. APK

Generating App Bundle

运行 flutter build appbundle

这将创建 <app dir>/build/app/outputs/bundle/release/app.aab

T app bundle 包含你的 Dart 代码和为 armeabi-v7a (32-bit) 编译的 Flutter 运行时和 arm64-v8a (64-bit) .

现在您可以将此应用程序包上传到 Google Play。

Build an APK

flutter build apk --split-per-abi

此命令会生成两个 APK 文件:

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

删除 --split-per-abi 标志会生成一个胖 APK,其中包含为所有目标 ABI 编译的代码。此类 APK 的大小比拆分后的版本大,导致用户下载不适用于其设备架构的原生二进制文件。

If you haven't upgraded to flutter 1.7 Below solution should still work.

您需要构建两个 apk 并将它们一起上传。一个用于 32 位,另一个用于 64 位。

这对我有用,我在 Flutter v1.5.4-hotfix.2 上

首先,运行 flutter build apk --release并上传apk文件

然后在pubspec.yml文件中增加版本号和内部版本号并运行

flutter build apk --release --target-platform=android-arm64

上传这个新的 apk 并开始部署。

祝你好运

https://stackoverflow.com/questions/55982981/

相关文章:

dart - PageView : Disable the default scrolling an

flutter - 带 flutter 的最低安卓版本

listview - 在构建期间调用 setState() 或 markNeedsBuild

dart - 在 Flutter 中的屏幕之间传递数据

android - Flutter 中的字符串 xml 文件

http - Flutter http 包不存在

flutter - 如何在 flutter 中为文本添加阴影?

dart - 如何清除 Flutter 的图片缓存?

dart - 如何检查当前路线是哪条?

dart - Android Studio 3.0.1 上未显示新的 Flutter 项目向导