Flutter: 'com.android.support:appcompat-v7' memiliki versi berbeda untuk classpath kompilasi (26.1.0) dan runtime (27.0.1)

Dibuat pada 10 Jan 2018  ·  19Komentar  ·  Sumber: flutter/flutter

saya menerima kesalahan saat menjalankan flutter run

flutter run
Launching lib/main.dart on Android SDK built for x86 in debug mode...
Initializing gradle...                                0.7s
Resolving dependencies...                             0.9s
Running 'gradlew assembleDebug'...                        
Configuration 'debugCompile' in project ':app' is deprecated. Use 'debugImplementation' instead.
Configuration 'profileCompile' in project ':app' is deprecated. Use 'profileImplementation' instead.
Configuration 'releaseCompile' in project ':app' is deprecated. Use 'releaseImplementation' instead.
Configuration 'compile' in project ':app' is deprecated. Use 'implementation' instead.
registerResGeneratingTask is deprecated, use registerGeneratedFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedFolders(FileCollection)
Configuration 'debugProvided' in project ':apn_fb_login' is deprecated. Use 'debugCompileOnly' instead.
Configuration 'releaseProvided' in project ':apn_fb_login' is deprecated. Use 'releaseCompileOnly' instead.
Configuration 'debugProvided' in project ':firebase_messaging' is deprecated. Use 'debugCompileOnly' instead.
Configuration 'releaseProvided' in project ':firebase_messaging' is deprecated. Use 'releaseCompileOnly' instead.
Configuration 'debugProvided' in project ':google_sign_in' is deprecated. Use 'debugCompileOnly' instead.
Configuration 'releaseProvided' in project ':google_sign_in' is deprecated. Use 'releaseCompileOnly' instead.
Configuration 'debugProvided' in project ':image_picker' is deprecated. Use 'debugCompileOnly' instead.
Configuration 'releaseProvided' in project ':image_picker' is deprecated. Use 'releaseCompileOnly' instead.
Configuration 'debugProvided' in project ':share' is deprecated. Use 'debugCompileOnly' instead.
Configuration 'releaseProvided' in project ':share' is deprecated. Use 'releaseCompileOnly' instead.
Configuration 'debugProvided' in project ':shared_preferences' is deprecated. Use 'debugCompileOnly' instead.
Configuration 'releaseProvided' in project ':shared_preferences' is deprecated. Use 'releaseCompileOnly' instead.

FAILURE: Build failed with an exception.

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

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

* Get more help at https://help.gradle.org

BUILD FAILED in 0s
Gradle build failed: 1

File gradle.build saya adalah:

def localProperties = new Properties()
def localPropertiesFile = rootProject.file('local.properties')
if (localPropertiesFile.exists()) {
    localPropertiesFile.withInputStream { stream ->
        localProperties.load(stream)
    }
}

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.")
}

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

android {
    compileSdkVersion 26
    buildToolsVersion '26.0.3'

    lintOptions {
        disable 'InvalidPackage'
    }

    defaultConfig {
        // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
        applicationId "com.shuttertop.app"
        minSdkVersion 16
        targetSdkVersion 26
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }

    buildTypes {
        release {
            // TODO: Add your own signing config for the release build.
            // Signing with the debug keys for now, so `flutter run --release` works.
            signingConfig signingConfigs.debug
        }
    }
}

flutter {
    source '../..'
}

dependencies {
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.1'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
}

apply plugin: 'com.google.gms.google-services'

dokter berdebar:

[✓] Flutter (on Linux, locale en_US.UTF-8, channel alpha)
    • Flutter at /home/luca/Programs/flutter
    • Framework revision 8f65fec5f5 (4 weeks ago), 2017-12-12 09:50:14 -0800
    • Engine revision edaecdc8b8
    • Tools Dart version 1.25.0-dev.11.0
    • Engine Dart version 2.0.0-edge.d8ae797298c3a6cf8dc9f4558707bd2672224d3e

[✓] Android toolchain - develop for Android devices (Android SDK 26.0.3)
    • Android SDK at /home/luca/Android/Sdk
    • Android NDK at /home/luca/Android/Sdk/ndk-bundle
    • Platform android-26, build-tools 26.0.3
    • ANDROID_HOME = /home/luca/Android/Sdk
    • Java binary at: /home/luca/Programs/android-studio/jre/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-915-b01)

[✓] Android Studio (version 3.0)
    • Android Studio at /home/luca/Programs/android-studio
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-915-b01)

[✓] Connected devices
    • Android SDK built for x86 • emulator-5554 • android-x86 • Android 8.0.0 (API 26) (emulator)

Komentar yang paling membantu

seperti ini

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"
            }
        }
    }
}

Semua 19 komentar

Saya menyelesaikannya dengan menambahkan

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

ke bagian subproyek di file android/build.gradle

Saya memiliki masalah yang sama persis. Bisakah Anda memposting seluruh kode Anda? Saya kesulitan menambahkan solusi Anda ke file build.gradle yang tepat.

Terima kasih

seperti ini

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"
            }
        }
    }
}

Ini berhasil untuk saya. Terima kasih.
Meskipun saya tidak mengerti apa fungsinya. Tolong bisakah Anda menjelaskan secara singkat fungsinya?

maaf saya tidak ingat mengapa ini terjadi, saya pikir kesalahan ini disebabkan ketika Anda memigrasi proyek dari versi yang lebih lama (mis. 2.0.1) ke yang terbaru (mis. 3.0.1) Anda juga perlu memastikan bahwa Anda memilikinya mengunduh dependensi yang sesuai.

periksa ini untuk mendapatkan info lebih lanjut. https://stackoverflow.com/questions/47448502/could-not-resolve-com-android-supportappcompat-v726-1-0-in-android-studio-new

Saya memiliki masalah yang sama dengan plugin flutter map_view, ditambahkan

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

ke akhir Android/build.gradle dan itu menyelesaikan masalah.
Terima kasih @lalukz

bayangkan kerumitan saat kita bermigrasi ke paket androidx jetpack android

bekerja,
saya mengalami kesalahan saat menggunakan plgin perpesanan clodfirestore dan firebase sekarang hilang dengan menambahkan baris di atas
juga menambahkan baris berikut dalam file gradle level aplikasi

dependencies {
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.1'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
}
apply plugin: 'com.google.gms.google-services'
com.google.gms.googleservices.GoogleServicesPlugin.config.disableVersionCheck = true 

Kesalahan yang sama, tetapi melawan

> Android dependency 'com.android.support:support-v4' has different version for the compile (27.0.1) and runtime (27.1.1) classpath. You should manually set the same version via DependencyResolution

Menambahkan ini untuk menyelesaikan.

        resolutionStrategy.eachDependency { details ->
            if (details.requested.group == 'com.android.support'
                    && !details.requested.name.contains('multidex') ) {
                details.useVersion "27.0.1"
            }
        }

Ketika saya melakukan ini, aplikasi saya dikompilasi, tetapi macet saat aplikasi dimulai tanpa kesalahan di log

Saya juga melakukan perbaikan 27.1.0 dan macet saat aplikasi dimulai.

Apakah ada cara untuk menyelesaikan ini tanpa kultivasi kargo?

Saya bisa menyelesaikan ini dengan cara yang berbeda. Mungkin itu akan berhasil untuk beberapa dari mereka yang masih mengalami kesulitan @dannnnthemannnn

Di android/app/build.gradle tambahkan baris ini:
implementation "com.android.support:support-v4:27.1.1"

jadi sekarang terlihat seperti:

dependencies {
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
    implementation "com.android.support:support-v4:27.1.1" // added this
}

Dari posting di react-community .

Ini berfungsi ketika saya menambahkan seperti di bawah ini

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

solusinya bekerja dengan baik.

Saya memiliki masalah yang sama dengan plugin flutter map_view, ditambahkan

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

ke akhir Android/build.gradle dan itu menyelesaikan masalah.
Terima kasih @lalukz

terima kasih itu bekerja untuk saya

Saya bisa menyelesaikan ini dengan cara yang berbeda. Mungkin itu akan berhasil untuk beberapa dari mereka yang masih mengalami kesulitan @dannnnthemannnn

Di android/app/build.gradle tambahkan baris ini:
implementation "com.android.support:support-v4:27.1.1"

jadi sekarang terlihat seperti:

dependencies {
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
    implementation "com.android.support:support-v4:27.1.1" // added this
}

Dari posting di react-community .

Hanya solusi ini yang berfungsi untuk situasi saya. Yang mengubah Android/build.gradle tidak berfungsi.

Saya juga memiliki masalah yang sama dan menyelesaikannya dengan menambahkan

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

di akhir file android/build.gradle

Saya juga memiliki masalah yang sama dan menyelesaikannya dengan menambahkan

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

di akhir file android/build.gradle

solusi ini berfungsi untuk situasi saya.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat