web-dev-qa-db-de.com

Android-Abhängigkeit 'com.Android.support:support-v4' hat eine andere Version

Ich habe gerade ein Upgrade auf Dart 2 und die neueste Version von Flutter durchgeführt und kann meine App jetzt nicht erstellen. Ich habe mich im Internet umgesehen, aber immer noch nicht verstanden, warum das so ist.

Der Fehler, den ich erhalte, ist:

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:preDebugBuild'.
> Android dependency 'com.Android.support:support-v4' has different version for the compile (26.1.0) and runtime (27.1.0) classpath. You should manually set the same version via DependencyResolution

Projekt build.grade:

buildscript {
    repositories {
        google()
        jcenter()
    }

    dependencies {
        classpath 'com.Android.tools.build:gradle:3.0.1'
        classpath 'com.google.gms:google-services:3.2.1'
    }
}

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
}

pubspec.yaml:

dependencies:
  flutter:
    sdk: flutter

  cupertino_icons: ^0.1.2
  google_sign_in: ^3.0.2
  firebase_auth: ^0.5.5
  firebase_database: ^0.4.5
  firebase_core: ^0.2.3

  flutter_blue: ^0.3.3

dev_dependencies:
  flutter_test:
    sdk: flutter


# The following section is specific to Flutter.
flutter:

  # The following line ensures that the Material Icons font is
  # included with your application, so that you can use the icons in
  # the material Icons class.
  uses-material-design: true

Ich habe meine Pakete auf die neuesten Versionen aktualisiert und ich verwende die neueste Version von Dart and Flutter.

Ich verstehe nicht wirklich, was diesen Fehler verursacht.

Kann jemand helfen?

8
jgv115

Fügen Sie dem Abschnitt "Teilprojekte" der Android-Projektebene der build.gradle-Datei Folgendes hinzu (wie auch im link von Günter Zöchbauer im Kommentar angegeben):

   subprojects {

    project.evaluationDependsOn(':app')
//[PART TO ADD START]
    project.configurations.all {

        resolutionStrategy.eachDependency { details ->

            if (details.requested.group == 'com.Android.support'
                    && !details.requested.name.contains('multidex') ) {
                details.useVersion "27.1.0"
            }
        }
    }
//[PART TO ADD END]
    }
20
Kartik

Ich hatte das gleiche Problem, als ich eine "QR-Scanner-App" in Flutter erstellte. Ich habe gerade die "minSdkVersion 21" in demoapp -> Android -> app -> geändert build.gradle -> minSdkVersion , es hat perfekt funktioniert. dies ist vorgekommen, da einige abhängigkeiten beim flattern minSdk nicht unter 21 unterstützen.

defaultConfig {
    // TODO: Specify your own unique Application ID (https://developer.Android.com/studio/build/application-id.html).
    applicationId "com.example"
    minSdkVersion 21
    targetSdkVersion 27
    versionCode 1
    versionName "1.0"
    testInstrumentationRunner "Android.support.test.runner.AndroidJUnitRunner"
}
2
Gaurang Goda

versuche dies

 Open you project in Android studio and wait for it to sync then,
Update build.gradile to this
add google() in repositories under buildscripts so it looks like this
repositories {
        jcenter()
        google()
    }
update classpath
classpath 'com.Android.tools.build:gradle:3.1.1'
Update distributionUrl in gradle-wrapper.properties
distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.Zip

implementation "com.Android.support:support-v4:27.1.1"  // In case your targetting. 
1
Raj008

Öffnen Sie die Datei build.gradle auf Projektebene und fügen Sie das folgende Snippet hinzu. 

subprojects {
    project.configurations.all {
        resolutionStrategy.eachDependency { details ->
            if (details.requested.group == 'com.Android.support'
                && !details.requested.name.contains('multidex') ) {
                details.useVersion "26.1.0"
            }
        }
    }
}

Nachdem Sie dies hinzugefügt haben, sieht Ihre build.gradle -Datei auf Projektebene folgendermaßen aus:

buildscript {

    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.Android.tools.build:gradle:3.1.1'


        // NOTE: Do not place your application dependencies here; they belong
       // in the individual module build.gradle files
    }
}

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

task clean(type: Delete) {
    delete rootProject.buildDir
}
subprojects {
    project.configurations.all {
        resolutionStrategy.eachDependency { details ->
            if (details.requested.group == 'com.Android.support'
                && !details.requested.name.contains('multidex') ) {
                details.useVersion "26.1.0"
            }
        }
    }
}

Lösung von Günter Zöchbauer. Verknüpfung . Für mich geht das. Ich hoffe es hilft.

0
Riajur Rahman