variantOutput.getPackageApplication () está obsoleto
con Gradle4.10.1
y el complemento Android Gradle actualizado a3.3.0
, Recibo la siguiente advertencia:
ADVERTENCIA: API 'variantOutput.getPackageApplication()
'está obsoleto y ha sido reemplazado por'variant.getPackageApplicationProvider()
'.
la línea, con el contexto circundante (que asigna nombres de archivos de salida por variante de compilación):
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()
}
}
}
}
el guía de inmigración no es muy útil; mientras que lavariant.outputs.all
podría tener la culpa, simplemente no tengo idea de qué reemplazar eso, y la guía de migración se refiere a tareas y no a crear variantes. al deshabilitarFile → Settings → Experimental → Gradle → Only sync the active variant
, Recibo aún más advertencias de desaprobación (el punto es que ninguno de estos métodos se llama directamente):
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()'.
Q: ¿cómo se pueden evitar estas advertencias de desaprobación mediante la migración a la nueva API?