ПРЕДУПРЕЖДЕНИЕ: API 'sequenceOutput.getPackageApplication ()' устарел - PullRequest
1 голос
/ 03 мая 2019

После обновления плагина Android Gradle до версии 3.4.0 я получил предупреждающее сообщение в /app/build.gradle

ПРЕДУПРЕЖДЕНИЕ: API 'OptionOutput.getPackageApplication ()' устарел ибыл заменен на "variable.getPackageApplicationProvider ()".Он будет удален в конце 2019 года.
Для получения дополнительной информации см. https://d.android.com/r/tools/task-configuration-avoidance.
Чтобы определить, что вызывает optionOutput.getPackageApplication (), используйте -Pandroid.debug.obsoleteApi = true в командной строке для отображениядополнительная информация.

Я попробовал 'android.debug.obsoleteApi = true' в 'gradle.properties' в соответствии с рекомендациями, затем я получил это сообщение.

ПРИЧИНА:Вызывается из: [путь проекта Android] /app/build.gradle:31

Код, содержащий строку 31, является кодом ниже.

android {

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            signingConfig signingConfigs.release
            applicationVariants.all { variant ->
                variant.outputs.each { output ->
                    project.ext { appName = 'my_app' }
                    def newName = output.outputFile.name
                    newName = newName.replace("app-", "$project.ext.appName-")
                    newName = newName.replace("-release", "-" + defaultConfig.versionName)
                    def relativeRootDir = output.packageApplication.outputDirectory.toPath().relativize(rootDir.toPath()).toFile()
                    output.outputFileName = new File("$relativeRootDir/", newName)
                }
            }
        }
    }
}

Строка 31 -

def newName = output.outputFile.name

Используется ли в этой части API-интерфейс 'OptionOutput.getPackageApplication ()'?Что я должен сделать, чтобы решить это предупреждение?

1 Ответ

1 голос
/ 14 мая 2019

После того, как я изменил app / build.gradle, чтобы не использовать строку 31, предупреждающее сообщение исчезает.

    applicationVariants.all { variant ->
        variant.outputs.all {
            project.ext { appName = 'my_app' }
            def newName = outputFileName
            newName = newName.replace("app-", "$project.ext.appName-")
            newName = newName.replace("-release", "-" + defaultConfig.versionName)
            outputFileName = "${variant.name}" + newName
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...