web-dev-qa-db-fra.com

L'échec de Gradle peut être dû à des incompatibilités AndroidX dans cette application Flutter

Ce problème se produit lors de la mise à jour du chemin de classe des dépendances de 'com.Android.tools.build:gradle:3.2.1' vers * 'com.Android.tools.build:gradle:3.3.2'

au niveau du projet build.gradle

buildscript {
        repositories {
            google()
            jcenter()
        }

        dependencies {
            classpath 'com.Android.tools.build:gradle:3.3.2'
        }
    }

    allprojects {
        repositories {
            google()
            jcenter()
        }
    }

    rootProject.buildDir = '../build'
    subprojects {
        project.buildDir = "${rootProject.buildDir}/${project.name}"
    }
    subprojects {
        project.evaluationDependsOn(':app')
    }

    task clean(type: Delete) {
        delete rootProject.buildDir
    }

au niveau de l'application build.gradle

def localProperties = new Properties()
    def localPropertiesFile = rootProject.file('local.properties')
    if (localPropertiesFile.exists()) {
        localPropertiesFile.withReader('UTF-8') { reader ->
            localProperties.load(reader)
        }
    }

    def flutterRoot = localProperties.getProperty('flutter.sdk')
    if (flutterRoot == null) {
        throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
    }

    def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
    if (flutterVersionCode == null) {
        flutterVersionCode = '1'
    }

    def flutterVersionName = localProperties.getProperty('flutter.versionName')
    if (flutterVersionName == null) {
        flutterVersionName = '1.0'
    }

    apply plugin: 'com.Android.application'
    apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"

    Android {
        compileSdkVersion 28

        lintOptions {
            disable 'InvalidPackage'
        }

        defaultConfig {
            // TODO: Specify your own unique Application ID (https://developer.Android.com/studio/build/application-id.html).
            applicationId "org.company.com.flutter_app"
            minSdkVersion 19
            targetSdkVersion 28
            versionCode flutterVersionCode.toInteger()
            versionName flutterVersionName
            testInstrumentationRunner "Android.support.test.runner.AndroidJUnitRunner"
        }

        buildTypes {
            release {
                signingConfig signingConfigs.debug
            }
        }
    }

    flutter {
        source '../..'
    }

    dependencies {
        testImplementation 'junit:junit:4.12'
    }

pubspec.yaml

dependencies:
flutter:
  sdk: flutter
cupertino_icons: ^0.1.2

dev_dependencies:
flutter_test:
  sdk: flutter
flutter_svg: ^0.12.0
printing: ^2.0.0
image: ^2.0.7
10
jazzbpn

ajoutez ceci dans Android/gradle.properties:

Android.useAndroidX=true
Android.enableJetifier=true

Réf: https://flutter.dev/docs/development/packages-and-plugins/androidx-compatibility

17
dsalkamoses

J'ai eu le même problème, après avoir vérifié ces 2 liens: https://flutter.dev/docs/deployment/Android

et proguard . La seule chose qui a fonctionné pour moi a été de supprimer minifyEnabled true fom build.graddle.

J'espère que cela aidera quelqu'un.

10
viv

Il semble que vous utilisez une dépendance Flutter qui n'est pas compatible avec Androidx, essayez de commenter la dépendance récente et réexécutez-la, si cela fonctionne, essayez d'utiliser la dépendance compatible avec Androidx

3
Harbdollar