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

标签 android dart flutter

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

警告信息: enter image description here

最佳答案

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 并开始部署。

祝你好运

关于android - 如何构建符合 Google Play 64 位要求的应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55982981/

相关文章:

java - Android 将 Activity 状态保存在 Parcelable 类对象中

flutter - Intellisense未在Dart/Flutter的VSCode中触发

dart - 具有 int 项目的 DropdownButton 不起作用,它不选择新值

dart - 如何从 ListView 中删除已按下的子项

android - 在 VS Code 上模拟 Android 时为 "Invalid Argument(s): Cannot find executable for null"- Mac OS X

firebase - Dart 未处理异常 : type 'List<dynamic>' is not a subtype of type 'Iterable<Map<dynamic, dynamic>>' in type cast

android - 扩展 FragmentPagerAdapter 存在缺少 super 构造函数的问题

java - 仅当键存在时才向 ArrayList 添加数据

android - 如何从 React Native 打开其他应用程序?

flutter - FFmpeg 音频 concat/join 在 flutter 中无法正常工作