Android依赖项``androidx.core:core''对于编译(1.0.0)和运行时(1.0.1)类路径具有不同的版本

时间:2019-08-19 12:43:37

标签: flutter dart barcode-scanner flutter-dependencies

我最近在flutter应用程序中添加了一个新库。它开始向我显示错误:

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:preDebugBuild'.
> Android dependency 'androidx.core:core' has different version for the compile (1.0.0) and runtime (1.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. Run with --scan to get full insights.

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

BUİLD FAILED in 14s

2 个答案:

答案 0 :(得分:0)

尝试转到依赖项并将编译更改为1.0.1

答案 1 :(得分:0)

步骤1。转到android文件夹下的gradle.properties,并添加以下代码:

org.gradle.jvmargs=-Xmx1536M
android.useAndroidX=true
android.enableJetifier=true

第2步。现在转到android下的build.gradle,而不是app-> build.gradle下的。在查看文件时,请确保它以builscript开头(这样可以确保您使用的是正确的build.gradle文件。)

第3步。Ctrl+ A该文件中的所有内容,请注意ctrl + A您需要擦除所有内容并粘贴以下代码的所有内容:

buildscript {
    ext.kotlin_version = '1.3.0'
    repositories {
        google()
        jcenter()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:3.3.1'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        classpath 'com.google.gms:google-services:4.2.0'
    }

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

                if (details.requested.group == 'androidx.core'
                        && !details.requested.name.contains('androidx') ) {
                    details.useVersion "1.0.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
}

需要注意的非常重要的一点是,在编译过程中,您很可能会看到此警告消息为红色。请不要害怕它,让整个编译完成,然后再得出任何结论。尽管它显示为红色,但它不会停止编译,因为您将在底部看到一个旋转的圆圈,该圆圈将显示编译的进度。此后,它将消失,您将能够运行该应用程序。这是警告消息:

  

注意:   C:\ flutter.pub-cache \ hosted \ pub.dartlang.org \ cloud_firestore-0.12.11 \ android \ src \ main \ java \ io \ flutter \ plugins \ firebase \ cloudfirestore \ CloudFirestorePlugin.java   使用或覆盖已弃用的API。注意:重新编译   -Xlint:不建议使用。注意:C:\ flutter.pub-cache \ hosted \ pub.dartlang.org \ cloud_firestore-0.12.11 \ android \ src \ main \ java \ io \ flutter \ plugins \ firebase \ cloudfirestore \ CloudFirestorePlugin.java   使用未经检查或不安全的操作。注意:重新编译   -Xlint:未经检查以获取详细信息。错误:[TAG]无法解析变量'$ {animal.sniffer.version}'注意:   C:\ flutter.pub-cache \ hosted \ pub.dartlang.org \ mlkit-0.15.0 \ android \ src \ main \ java \ com \ azihsoyn \ flutter \ mlkit \ MlkitPlugin.java使用未经检查或不安全的操作。注意:重新编译   -Xlint:无需检查详细信息。

轰!而已。相信我,这一定会解决您的问题。

如果您仍然遇到任何此类问题,请尝试实施本link中提到的其他解决方案。