我创建了一个新的项目在Android Studio 2.2预览1与Android应用程序和后端模块谷歌消息。这是app文件:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.3"
    defaultConfig {
        applicationId "com.xxx.xxx"
        minSdkVersion 15
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:23.4.0'
    compile 'com.android.support.constraint:constraint-layout:1.0.0-alpha1'
    compile 'com.google.android.gms:play-services-gcm:9.0.0'
    testCompile 'junit:junit:4.12'
    androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.2'
    androidTestCompile 'com.android.support.test:runner:0.5'
    androidTestCompile 'com.android.support:support-annotations:23.4.0'
    compile project(path: ':backend', configuration: 'android-endpoints')
}

但它给予:

错误:与依赖项“com.google.code.findbugs:jsr305”冲突。应用程序(1.3.9)和测试应用程序(2.0.1)的解析版本不同。详情见http://g.co/androidstudio/app-test-app-conflict。

我是Android的新手,无法找到这个错误是什么。我该怎么解决呢?


当前回答

发生这种情况的原因是diff依赖使用了与diff版本相同的库。 所以,有3步或(1步)来解决这个问题。

1st

Add

configurations.all {
    resolutionStrategy.force 'com.google.code.findbugs:jsr305:2.0.1'
}

适合你的身材。Gradle文件在android{…}

2nd

在android studio中打开终端 执行。/gradlew -q app:dependencies命令。

3rd

在Build列表中的android studio菜单栏中单击Clean Project。 它会重新构建项目,然后 在第一步中删除代码。

也许你只需要执行第二步。发生错误时不能回滚。 试试看。

其他回答

反应本地

如果你在寻找react原生解决方案,那么在你受影响的node_modules gradle构建文件中写这个片段,例如,在我的例子中是firebase。

android {
    configurations.all {
        resolutionStrategy.force 'com.google.code.findbugs:jsr305:3.0.0'
    }
}

删除浓缩咖啡依赖在gradle文件为我工作。

删除应用程序gradle文件中的这些行:

androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
    exclude group: 'com.android.support', module: 'support-annotations'
})

在应用程序的构建中。Gradle添加以下内容:

android {
    configurations.all {
        resolutionStrategy.force 'com.google.code.findbugs:jsr305:1.3.9'
    }
}

强制Gradle只编译你为所有依赖项声明的版本号,不管依赖项声明的是哪个版本号。

我试图使用airbnb深度链接调度,但得到了这个错误。我还必须从annotationProcessor中排除findbugs组。

//airBnb
    compile ('com.airbnb:deeplinkdispatch:3.1.1'){
        exclude group:'com.google.code.findbugs'
    }
    annotationProcessor ('com.airbnb:deeplinkdispatch-processor:3.1.1'){
        exclude group:'com.google.code.findbugs'
    }

发生这种情况的原因是diff依赖使用了与diff版本相同的库。 所以,有3步或(1步)来解决这个问题。

1st

Add

configurations.all {
    resolutionStrategy.force 'com.google.code.findbugs:jsr305:2.0.1'
}

适合你的身材。Gradle文件在android{…}

2nd

在android studio中打开终端 执行。/gradlew -q app:dependencies命令。

3rd

在Build列表中的android studio菜单栏中单击Clean Project。 它会重新构建项目,然后 在第一步中删除代码。

也许你只需要执行第二步。发生错误时不能回滚。 试试看。