Search code examples
androidfluttergradleapkandroid-productflavors

Unable to build release apk for different flavors Flutter


in android/build.gradle

ext.kotlin_version = '1.5.10'
classpath 'com.android.tools.build:gradle:4.2.0'

in android/app/build.gradle has flavors:

flavorDimensions "app"
    productFlavors{
        vfairs{
          dimension "app"
          applicationId 'com.vFairs.mobileApp'
          resValue "string", "app_name", "vFairs"
        }
        nas{
          dimension "app"
          applicationId 'com.nas.mobileApp'
          resValue "string", "app_name", "NAS"
        }
    }

distributionUrl=https\://services.gradle.org/distributions/gradle-6.9-all.zip

i'm trying to create build using command

flutter build apk --flavor vfairs -t lib/main_vfairs.dart

And following is error:

  FAILURE: Build failed with an exception.                                
                                                                        
* What went wrong:                                                      
Execution failed for task ':app:lintVitalVfairsRelease'.                
> Could not resolve all artifacts for configuration ':app:nasReleaseRuntimeClasspath'.
   > Failed to transform libs.jar to match attributes {artifactType=processed-jar, org.gradle.libraryelements=jar, org.gradle.usage=java-runtime}.
      > Execution failed for JetifyTransform: /Users/mt/vfairs/vFairs_app_1/vfairs-mobile/vfairs_events_app/build/app/intermediates/flutter/nasRelease/libs.jar.
         > Transform's input file does not exist: /Users/mt/vfairs/vFairs_app_1/vfairs-mobile/vfairs_events_app/build/app/intermediates/flutter/nasRelease/libs.jar. (See https://issuetracker.google.com/issues/158753935)

Solution

  • The Android Gradle LintPerVariantTask now appears to be adding JARs from all build variants to its inputs: https://android.googlesource.com/platform/tools/base/+/1f9787310d64a66370627a2aaefa1e616565c17d

    according to this github issue

    this is the solution :

    lintOptions {
        checkReleaseBuilds false
    }