错误:任务':app:preDebugAndroidTestBuild'执行失败,试图在android studio中运行java程序

时间:2018-04-29 17:31:27

标签: java android

在android studio中运行java程序时出现以下错误。

错误:任务执行失败': app:preDebugAndroidTestBuild '。

  

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

请解决任何问题。 ?

14 个答案:

答案 0 :(得分:26)

使用implementation 'com.android.support:appcompat-v7:26.1.0' 而不是$this->messageText = isset($this->input['entry'][0]['messaging'][0]['message']['text']) ? $this->input['entry'][0]['messaging'][0]['message']['text'] : '' ; 并将compileSdkVersion 26更改为27

答案 1 :(得分:19)

感谢@Ganesh Bhat和Chad Bingham

对于那些仍然面临问题的人,上面的回答并没有帮助我在android studio 2.2预览中。

这解决了我的问题。

将此内容添加到您的gradle文件中。

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

参考: https://github.com/JakeWharton/u2020/blob/05a57bf43b9b61f16d32cbe8717af77cd608b0fb/build.gradle#L136-L140

Android support library error after updating to 23.3.0

Resolved versions for app (22.0.0) and test app (21.0.3) differ

更新   - 如果上一个答案不起作用:

您应该将 compileSdkVersion appcompat 更新到最新更新,直到现在compileSdkVersion为27, appcompat也是27.1.1和28.0.0-alpha1是预发布版本

从而

更改

  

compileSdkVersion 27

the attached photo will help you

  

实施'com.android.support:appcompat-v7:26.1.0'

到最新更新

  

实施'com.android.support:appcompat-v7:27.1.1'

您可以通过此链接查看最新更新:

https://developer.android.com/topic/libraries/support-library/revisions

答案 2 :(得分:2)

答案 3 :(得分:2)

将此添加到您的应用程序gradle文件

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

答案 4 :(得分:1)

应用相关性大括号

中添加这些行
android{
    configurations.all {
        resolutionStrategy.force 'com.android.support:support-annotations:27.1.1'
    }
}

截止到目前为止最新的是27.1.1。

答案 5 :(得分:1)

AS配置版本:

implementation fileTree(include: ['*.jar'], dir: 'libs')
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'**

修改:

implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:26.0.0-beta1'
implementation 'com.android.support.constraint:constraint-layout:1.0.2'
implementation 'com.android.support:design:26.0.0-beta1'
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'**

答案 6 :(得分:1)

好吧,我在这里也遇到了同样的问题

  • 转到应用程序级别的Gradle文件

您将在其中找到已设置的所有配置。就我而言

android{
    **compileSdkVersion 26**
    defaultConfig {
        applicationId "com.xxxxxxxxxxx.yyyyyyyy.zzz"
        minSdkVersion 19
        **targetSdkVersion 26**
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }

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

因此,这里只需将compileSdkVersion和targetSdkVersion从26更改为27 和

来自依赖项更改支持应用程序

from   implementation 'com.android.support:appcompat-v7:26.1.0' 
to     implementation 'com.android.support:appcompat-v7:27.1.1'


android {
    **compileSdkVersion 27**
    defaultConfig {
        applicationId "com.xxxxxxxxxxx.yyyyyyyy.zzz"
        minSdkVersion 19
        **targetSdkVersion 27**
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }

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.2'
    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'
}

已修正!!!

答案 7 :(得分:0)

大家好我解决这个问题时遇到了同样的问题你需要在你的app bulid gradle中改变你的appcompat

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

那么它应该要求你安装它,如果你已经安装了,如果仍然错误解决了改变你的sdkversions它会帮助很多因为如果你改变appcompact 到27.1.1你需要将你的sdkversion改为27,我建议大家更新你的android工作室和sdk到最新的

答案 8 :(得分:0)

错误:

  

错误:任务':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的     详细信息。

  

这是由于没有将任何依赖项添加到您的App build.gradle,或者它可能是旧版本。因此,添加注释支持的依赖项。

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

在这里,我添加了注释版本27.1.1,以解决与其他版本不匹配的错误,然后将其更改为所需的版本。

答案 9 :(得分:0)

如果有帮助,请尝试以下更改

com.android.support:appcompat-v7:26.1.0

com.android.support:appcompat-v7:27.1.1

答案 10 :(得分:0)

我发现这很简单。

我们将对所有模块使用更新并使用相同的版本。

1。转到项目级别build.gradle,使用全局变量

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

buildscript {
    ext.kotlinVersion = '1.2.61'

    ext.global_minSdkVersion = 16
    ext.global_targetSdkVersion = 28
    ext.global_buildToolsVersion = '28.0.1'
    ext.global_supportLibVersion = '27.1.1'
}

2。转到应用程序级别build.gradle,并使用全局变量

应用程序级别build.gradle

android {
    compileSdkVersion global_targetSdkVersion
    buildToolsVersion global_buildToolsVersion
    defaultConfig {
        minSdkVersion global_minSdkVersion
        targetSdkVersion global_targetSdkVersion
}
...

dependencies {
    implementation "com.android.support:appcompat-v7:$global_supportLibVersion"
    implementation "com.android.support:recyclerview-v7:$global_supportLibVersion"
    // and so on...
}

某些库/模块build.gradle

android {
    compileSdkVersion global_targetSdkVersion
    buildToolsVersion global_buildToolsVersion
    defaultConfig {
        minSdkVersion global_minSdkVersion
        targetSdkVersion global_targetSdkVersion
}
...

dependencies {
    implementation "com.android.support:appcompat-v7:$global_supportLibVersion"
    implementation "com.android.support:recyclerview-v7:$global_supportLibVersion"
    // and so on...
}

解决方案是使您的版本与所有模块中的版本相同。这样您就不会有冲突。

未来的提示

  

当我更新了所有内容(gradle,sdks,   库等。那么我面临的错误就更少了。因为开发人员正在工作   很难在Android Studio上轻松开发。

始终具有**最新,但版本稳定**不稳定的版本为alphabetarc,在开发时请忽略它们。

我已经在项目中更新了以下所有内容,并感到代码完美无缺。

祝您编程愉快! :)

答案 11 :(得分:0)

同样重要的是,在您的gradle中查看

targetSdkVersion 27
compileSdkVersion 27
buildToolsVersion '27.0.3'

答案 12 :(得分:0)

Auto Import Settings

转到设置>编辑器>,然后检查图像中显示的那两个框。它应该可以毫无问题地解决它。

答案 13 :(得分:-1)

在应用级别将此代码添加到build.gradle的底部。它会起作用......

configurations.all {
    resolutionStrategy.eachDependency{
        DependencyResolveDetails details ->
            def requested=details.requested
            if(requested.group=="com.android.support"){
            if(!requested.name.startsWith("multidex")){
                details.useVersion("26.0.1")
            }
        }
    }
}