Я только что обновил Gradle и получаю предупреждение об устаревшем вызове. Как исправить? - PullRequest
0 голосов
/ 15 января 2019

Я использую плагин Gradle версии 3.3.0, а моя оболочка Gradle использует distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.1-all.zip

Я использую следующий код в моем app/build.gradle файле:

applicationVariants.all { variant ->
    variant.outputs.each { output ->
        def apk = output.outputFile //happens here (line 26)
        def newName

        if (variant.buildType.name == "release") {
            newName = "ediary.apk"
        } else {
            newName = "ediary-debug.apk"
        }

        output.outputFileName = new File(
                "./build/",
                output.outputFile.name)

        if (output.zipAlign) {
            output.outputFileName = new File(
                    "./build/",
                    newName.replace("-unaligned", ""))
        }
    }
}

Проект строится, но я получаю это предупреждение:

ВНИМАНИЕ: API 'variantOutput.getPackageApplication()' устарел и был заменен на 'variant.getPackageApplicationProvider()'. Он будет удален в конце 2019 года. Для получения дополнительной информации см. https://d.android.com/r/tools/task-configuration-avoidance. ПРИЧИНА: Вызывается из: C: \ Users \ мое имя \ StudioProjects \ core \ app \ build.gradle: 26

Как мне переписать это, чтобы избежать предупреждения?

1 Ответ

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

Это задокументированное изменение в инструментах сборки Android 3.3.0. (Gradle 4.10 и выше, я не уверен) Я не эксперт по gradle или что-то в этом роде, но я уверен, что код, который вы передали выше, не вызывает этого предупреждения. Вероятно, это одна из ваших зависимостей, использующая API, упомянутые в предупреждении, которое сейчас устарело. Единственный обходной путь - пока отключить предупреждение, если вы хотите продолжить использовать инструменты сборки Android 3.3.0.

Подобный случай произошел и в библиотеке Butterknife. Проверьте это, вы можете найти полезную информацию Нож для масла, выпуск 1431

Я лично заставляю замолчать это предупреждение и продолжаю. Просто добавьте следующую строку в gradle.properties

android.jetifier.blacklist = butterknife-compiler //replace with possible artifact name
...