Я знаю, что была возможность исключить 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, которые будут включены. После этого разъяснения все, кажется, работает правильно.