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

与依赖项的com冲突。Android支持:支持注释“在项目中”:应用程序。应用程序(26.1.0)和测试应用程序(27.1.1)的解析版本不同。

广瑞
2023-03-14

我是新的Android应用程序开发。当我试图创建一个新的项目,Android项目......下面的消息弹出。.

错误:任务执行失败:应用程序:preDebugAndroidTestBuild。

与项目中的依赖com.android.support:支持注释冲突:应用。应用(26.1.0)和测试应用(27.1.1)的解析版本不同。详见https://d.android.com/r/tools/test-apk-dependency-conflicts.html。信息:Gradle任务[: app: GenerateDebugSSource,: app: GenerateDebugAndroidTestSSource,: app: mockableAndroidJar]

这是我项目的截图单击此处查看我得到的错误截图

我还尝试将此代码添加到我的依赖项... androidTestCompile'com.android.support: support-注释: 23.3.0',但没有成功。我也尝试了27.1.1和26.1.0...也没有成功。

共有3个答案

浦毅
2023-03-14

如果使用版本26,则内部依赖项版本应为1.0。1和3.0。1即,如下所示:

  androidTestImplementation 'com.android.support.test:runner:1.0.1'
  androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'

如果您使用版本27,那么内部依赖版本应该是1.0.2和3.0.2,即如下所示

  androidTestImplementation 'com.android.support.test:runner:1.0.2'
  androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
何高旻
2023-03-14

在依赖块之前,在app.gradle文件中添加以下行。

configurations.all {
    resolutionStrategy {
        force 'com.android.support:support-annotations:26.1.0'
    }
}

下面还有截图,以便更好地理解。

配置。仅当您希望目标sdk为26时,“所有”块才有用。如果您可以将其更改为27,则错误将消失,而无需在应用程序中添加配置块。格雷德尔档案。

还有一种方法,如果你想删除所有的测试实现从app.gradle文件,它会解决错误,在这种情况下,你也不需要添加配置块,也不需要更改Target etsdk版本。

希望这有所帮助。

融宏伟
2023-03-14

根据您的截图,我找到了两个可行的解决方案:

第一个解决方案:将此行添加到gradle模块的依赖项

compile 'com.android.support:support-annotations:27.1.1'

并同步您的项目

注意:如果你使用Android Studio 3更改编译实现

第二种解决方案:配置留档https://developer.android.com/studio/build/gradle-tips.html#configure-project-wide-properties中的项目范围属性

在project gradle中添加以下行:

// This block encapsulates custom properties and makes them available to all
// modules in the project.
ext {
    // The following are only a few examples of the types of properties you can define.
    compileSdkVersion = 26
    // You can also use this to specify versions for dependencies. Having consistent
    // versions between modules can avoid behavior conflicts.
    supportLibVersion = "27.1.1"
}

然后要访问此部分,请将compileSdkVersion行更改为

编译dkversion根项目。ext.compileSdkVersion

dependencies部分,将导入的库更改为:

compile "com.android.support:appcompat-v7:${rootProject.ext.supportLibVersion}"

并同步您的项目

注意:如果你使用Android Studio 3更改编译实现

要了解编译实现之间的区别,请看下面的内容:在gradle中实现和编译有什么区别

 类似资料: