我正在使用android studio 3.0.1 在我创建新项目之后它会给出以下错误:
错误:任务':app:preDebugAndroidTestBuild'执行失败。
与项目':app'中的依赖'com.android.support:support-annotations'冲突。适用于app(26.1.0)和测试应用的已解决版本 (27.1.1)不同。看到 https://d.android.com/r/tools/test-apk-dependency-conflicts.html 的信息。
这是我的应用级 build.gradle 文件
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'
}
这是我的顶级 build.gradle 文件
// 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
}
根据这篇文章: Error While creating new project with 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。
如何解决此问题
接受任何帮助。 谢谢:))
答案 0 :(得分:2)
这是由于您添加的多个库发生冲突而发生的 Gradle file.IF您的目标版本是26然后您必须使用 26 API版本的库。只需进入项目结构 - > .idea - > 库 - >删除文件夹。重启android studio或Rebuild 并清理项目。问题将解决这个问题。
答案 1 :(得分:1)
您需要确保compileSdkVersion为27。
您需要从espresso-Core中排除支持库,如下所示:
androidTestImplementation('com.android.support.test.espresso:espresso-
core:3.0.2') {
exclude group: 'com.android.support', module: 'support-annotations'
}
答案 2 :(得分:0)
这一切都取决于你的targetSdkVersion vesion。如果它是26,你应该使用实现'com.android.support:appcompat-v7:26.1.0',如果它是27,你应该使用实现'com.android.support:appcompat-v7:27.1.1'。之后同步项目,如果不工作,请尝试清理并重建项目。
答案 3 :(得分:0)
尝试在build.gradle
(应用级别1)
configurations.all {
resolutionStrategy.eachDependency { details ->
def requested = details.requested
if (requested.group == 'com.android.support') {
if (!requested.name.startsWith("multidex")) {
details.useVersion '26.1.0'
}
}
}
}
答案 4 :(得分:0)
如果您使用的支持库版本为27。
com.android.support:appcompat-v7:27.1.1
更改为
targetSdkVersion 27
compileSdkVersion 27
我认为它将解决您的答案