Не удалось найти параметр с именем «split-per-abi» - PullRequest
6 голосов
/ 15 июня 2019

Пожалуйста, какая версия флаттера поддерживает опцию --split-per-abi при создании APK-файла с flutter build apk. Я использую Flutter 1.5.4-hotfix.2 и до сих пор не могу получить доступ к этой опции.
Согласно документации Подготовка Android-приложения к выпуску ,

Эта команда приводит к двум файлам 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 больше в размер, чем их разделенные коллеги, в результате чего пользователь загружает родные двоичные файлы, которые не применимы к их устройствам архитектура.

Как я могу заставить это работать?

РЕДАКТИРОВАТЬ: Он работает на Flutter 1.7.4

1 Ответ

4 голосов
/ 15 июня 2019

В вашем <app dir>/android/app/build.gradle добавьте раздел splits, как описано здесь: https://developer.android.com/studio/build/configure-apk-splits#configure-abi-split

Базовая конфигурация будет добавить это к вашему build.gradle

android {
  ...
  splits {

    // Configures multiple APKs based on ABI.
    abi {

      // Enables building multiple APKs per ABI.
      enable true

      // By default all ABIs are included, so use reset() and include to specify that we only
      // want APKs for x86 and x86_64.

      // Resets the list of ABIs that Gradle should create APKs for to none.
      reset()

      // Specifies a list of ABIs that Gradle should create APKs for.
      include "x86", "x86_64", "armeabi", "armeabi-v7a", "arm64-v8a"

      // Specifies that we do not want to also generate a universal APK that includes all ABIs.
      universalApk false
    }
  }
}

Затем просто запустите команду, как написано в документации:

flutter build apk --split-per-abi

Вот список поддерживаемых ABI: https://developer.android.com/ndk/guides/abis.html#sa

С приведенной выше конфигурацией вы должны получить все поддерживаемые ABI

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...