当前位置: 首页 > 知识库问答 >
问题:

在 Android 工作室中创建新项目后与依赖关系发生冲突

於子晋
2023-03-14

我在创建新项目后使用android studio 3.0.1,它会给出以下错误:

错误:任务“:app:preDebugAndroidTestBuild”的执行失败。

与项目“:app”中的依赖项“com.android.support:support-annotations”冲突。应用 (26.1.0) 和测试应用 (27.1.1) 的已解决版本有所不同。有关详细信息,请参阅 https://d.android.com/r/tools/test-apk-dependency-conflicts.html。

这是我的应用程序级构建。格雷德尔文件

apply plugin: 'com.android.application'

    android {
        compileSdkVersion 26
        defaultConfig {

            minSdkVersion 19
            targetSdkVersion 26
            versionCode 1
            versionName "1.0"
            testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        }
        buildTypes {
            release {
                minifyEnabled false
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            }
        }
    }

    dependencies {
        implementation fileTree(dir: 'libs', include: ['*.jar'])
        implementation 'com.android.support:appcompat-v7:27.1.1'
        implementation 'com.android.support.constraint:constraint-layout:1.1.0'
        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'
    }

这是我的顶级版本。格雷德尔文件

  // Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {

    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.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
}

根据这篇文章:使用android studio 3.0.1创建新项目时出错

我改变了我的

implementation 'com.android.support:appcompat-v7:26.1.0'

implementation 'com.android.support:appcompat-v7:27.1.1'

但正如我正在使用的那样

targetSdkVersion 26

我不应该使用支持库27.1.1。

我该如何解决这个问题

接受任何帮助。谢谢:)

共有3个答案

越运锋
2023-03-14

这完全取决于您的目标SdkVersion vesion。如果它是26,你应该使用实现'com.android.support:appcompat-v7:26.1.0',如果它是27,你应该使用实现'com.android.support:appcompat-v7:27.1.1'。之后,同步项目,如果不起作用,请尝试清理并重新生成项目。

苗冯浩
2023-03-14

您需要确保compileSdkVersion为27。

您需要从espresso-Core中排除支持库,如下所示:

 androidTestImplementation('com.android.support.test.espresso:espresso- 
    core:3.0.2') {
        exclude group: 'com.android.support', module: 'support-annotations'
 }
越飞鸾
2023-03-14

这是由于您在Gradle中添加的多个库发生冲突file.IF您的目标版本是26,那么您必须使用26 API版本的库。只需进入项目结构-

 类似资料: