Как исключить ABI из набора приложений для Android? - PullRequest
0 голосов
/ 08 января 2019

Я знаю, что была возможность исключить ABI при генерации разбиений в 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"
    }
  }
}

А вот официальная ссылка на сплиты конфигурация

Теперь рекомендуется использовать комплекты приложений при публикации приложения в Play Store, и я не вижу возможности исключать ABI из этого комплекта ни с помощью консоли публикации Gradle, ни в Play Store.

Единственная подсказка, которую я нашел до сих пор, - это то, что вы можете включить / отключить конкретный вариант разделения. Например, вот как полностью отключить разбиение ABI-пакетов в соответствии с документацией :

android {
    // When building Android App Bundles, the splits block is ignored.
    splits {...}

    // Instead, use the bundle block to control which types of configuration APKs
    // you want your app bundle to support.
    bundle {
        abi {
            // This property is set to true by default.
            enableSplit = true
        }
    }
}

Но нет упоминания о том, как отключить / включить определенный набор ABI.

У меня уже есть abiFilters, указанный для исключения не поддерживаемых NDK, но похоже, что он не влияет на комплект приложений.

Обновление: Я предположил, что abiFilters указывают ABI, которые нужно исключить из комплекта приложений, но это было как раз наоборот, и их цель - перечислить ABI, которые будут включены. После этого разъяснения все, кажется, работает правильно.

1 Ответ

0 голосов
/ 09 января 2019

abiFilters это путь. Укажите список ABI, которые вы хотите включить, а остальные будут исключены.

Вам не нужен блок «split» для комплектов приложений Android: он игнорируется.

Если это не работает для вас, то не могли бы вы предоставить конфигурацию Gradle с набором abiFilters и сказать, как вы определяете ABI, присутствующие в комплекте приложений?

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