variantOutput.getPackageApplication() is obsolete

variantOutput.getPackageApplication() is being caused by a changed variant API.

changing output.outputFile.parent to variant.getPackageApplicationProvider().get().outputs.files[1] is at least a temporary workaround.

source: @Selvin.


variant.getExternalNativeBuildTasks() is being caused by the io.fabric plugin.

the next version of the io.fabric plugin will use variant.getExternalNativeBuildProviders().

source: 116408637; the confirmation for a promised fix (1.28.1).


These are caused by com.google.gms.google-services:

  • registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)

  • 'variant.getMergeResources()' is obsolete and has been replaced with 'variant.getMergeResourcesProvider()'

This blog post explains how to get rid of the com.google.gms.google-services plugin altogether, by adding the XML resources, which that plugin generates, eg. from build/generated/res/google-services/debug/values/values.xml into the regular debug/values/values.xml.


The most easy and the least effort might be:

buildscript {
    repositories {
        google()
        maven { url "https://maven.fabric.io/public" }
    }
    dependencies {
        //noinspection GradleDependency
        classpath "com.android.tools.build:gradle:3.2.1"
        classpath "io.fabric.tools:gradle:1.28.1"
    }
}

For debug information: ./gradlew -Pandroid.debug.obsoleteApi=true mobile:assembleDebug

None of these warnings changes the behavior in any way.

Leave a Comment