Как исключить сплит ABI для определенных ароматов продукта? - PullRequest
0 голосов
/ 29 апреля 2019

У меня есть Android-приложение с несколькими вариантами продуктов: измерение API с minApi16 и minApi21 ароматами.Я хочу использовать ABI-сплиты для minApi16, но не для minApi21.

. Я установил сплит-режимы так:

splits {
    abi {
        enable true
        reset()
        include "armeabi-v7a", "x86"
        universalApk true
    }
}

Это создает 6 apks (3 для minApi21и 3 для minApi16).Мне нужно только 4 (1 универсальный для minApi21 и 3 для minApi16).Я попробовал решение, предоставленное здесь , но это работает только на основе имени задачи Gradle: работает с assembleMinApi16 и assembleMinApi21, но не для assemble.

Я пытался удалитьвыходные данные мне не нужны из applicationVariant, но это, похоже, не работает:

android.applicationVariants.all { variant ->
    def iterator = variant.outputs.iterator()

    while (iterator.hasNext()) {
        def output = iterator.next()
        def name = output.name
        if (name.contains("minApi21") && !name.contains("universal")) {
            iterator.remove()
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...