с Gradle 4.10.1
и плагином Android Gradle, обновленным до 3.3.0
, я получаю следующее предупреждение:
ПРЕДУПРЕЖДЕНИЕ. API '
variantOutput.getPackageApplication()
' устарел и был заменен на 'variant.getPackageApplicationProvider()
'.
строка с окружающим контекстом (который присваивает имена выходных файлов по варианту сборки):
applicationVariants.all { variant ->
variant.outputs.all { output ->
if (variant.getBuildType().getName() in rootProject.archiveBuildTypes) {
def buildType = variant.getBuildType().getName()
if (variant.versionName != null) {
def baseName = output.baseName.toLowerCase()
String fileName = "${rootProject.name}_${variant.versionName}-${baseName}.apk"
// this is the line:
outputFileName = new File(output.outputFile.parent, fileName).getName()
}
}
}
}
руководство по миграции не слишком полезно; в то время как в variant.outputs.all
может быть ошибка - просто не знаю, чем его заменить - и руководство по миграции ссылается на задачи, а не на создание вариантов. при отключении File → Settings → Experimental → Gradle → Only sync the active variant
, я получаю еще больше предупреждений об устаревании (дело в том, что ни один из этих методов не вызывается напрямую):
WARNING: API 'variant.getAssemble()' is obsolete and has been replaced with 'variant.getAssembleProvider()'.
WARNING: API 'variantOutput.getProcessResources()' is obsolete and has been replaced with 'variantOutput.getProcessResourcesProvider()'.
WARNING: API 'variantOutput.getProcessManifest()' is obsolete and has been replaced with 'variantOutput.getProcessManifestProvider()'.
WARNING: API 'variant.getMergeResources()' is obsolete and has been replaced with 'variant.getMergeResourcesProvider()'.
WARNING: API 'variant.getMergeAssets()' is obsolete and has been replaced with 'variant.getMergeAssetsProvider()'.
WARNING: API 'variant.getPackageApplication()' is obsolete and has been replaced with 'variant.getPackageApplicationProvider()'.
WARNING: API 'variant.getExternalNativeBuildTasks()' is obsolete and has been replaced with 'variant.getExternalNativeBuildProviders()'.
WARNING: API 'variantOutput.getPackageApplication()' is obsolete and has been replaced with 'variant.getPackageApplicationProvider()'.
Вопрос: как можно избежать этих предупреждений об устаревании при переходе на новый API?