Android支持库错误更新到23.3.0后

您好我一直在使用android支持v4 23.1.1,最近试图更新到23.3.0(这是最新的一个问),但我得到了以下错误:

错误:与依赖项com.android.support:support-annotations冲突。 应用程序(23.3.0)和testing应用程序(23.1.1)的已解决版本不同。 有关详细信息,请参阅http://g.co/androidstudio/app-test-app-conflict 。

到目前为止,我已经find了这个https://code.google.com/p/android/issues/detail?id=206137

我去了这两个链接,但我不能解决我的问题,我该如何解决这个问题?

编辑:

我有这些在我的依赖

compile 'com.android.support:support-v4:23.3.0' compile 'com.android.support:appcompat-v7:23.3.0' compile 'com.android.support:recyclerview-v7:23.3.0' compile 'com.android.support:cardview-v7:23.3.0' compile 'com.android.support:design:23.3.0' 

以前所有的版本都是23.1.1并且更新后错误发生的效果很好

编辑:

 Gradle Version 2.10 Gradle Plugin Version 2.0.0 buildToolsVersion "23.0.3" 

对于那些仍然面临这个问题的人,只需将这一行添加到您的依赖关系。

 androidTestCompile 'com.android.support:support-annotations:23.3.0' 

它解决了我的问题。

对于那些仍然面临这个问题,上面的答案没有帮助我在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

只是示例Akshayraj的答案

原始Gradle文件:

 dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') [...] compile 'com.android.support:support-annotations:25.3.0' androidTestCompile 'com.android.support.test:runner:0.5' androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.2' } 

收到错误:

错误:与项目“:app”中的依赖关系“com.android.support:support-annotations”冲突。
应用程序(25.1.0)和testing应用程序(23.1.1)的已解决版本不同。
有关详细信息,请参阅http://g.co/androidstudio/app-test-app-conflict 。 “

固定时,我补充说:

 androidTestCompile 'com.android.support:support-annotations:25.3.0' 

最终文件:

 dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') [...] compile 'com.android.support:support-annotations:25.3.0' androidTestCompile 'com.android.support:support-annotations:25.3.0' androidTestCompile 'com.android.support.test:runner:0.5' androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.2' } 

我的orignal app.gradle有:

 dependencies { // App dependencies compile fileTree(dir: 'libs', include: ['*.jar']) testCompile 'junit:junit:4.12' compile 'com.android.support:appcompat-v7:23.4.0' // Testing-only dependencies androidTestCompile 'com.android.support.test:runner:0.3' androidTestCompile 'com.android.support.test:rules:0.3' androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2' } 

导致以下错误:
错误:与依赖项com.android.support:support-annotations冲突。 应用程序(23.4.0)和testing应用程序(22.2.0)的已解决版本不同。 有关详细信息,请参阅http://g.co/androidstudio/app-test-app-conflict

在阅读错误提示的链接后,我find了这些行:

当仪器testing运行时,主APK和testingAPK共享相同的类path。 如果主APK和testingAPK使用相同的库(例如Guava),但是使用不同的版本,则Gradle构build将失败。 如果gradle没有捕捉到,那么在testing和正常运行期间(包括崩溃),您的应用可能会有不同的performance。

所以我修改了我的app.gradle依赖关系:

 dependencies { // App dependencies compile fileTree(dir: 'libs', include: ['*.jar']) testCompile 'junit:junit:4.12' compile 'com.android.support:appcompat-v7:23.4.0' // Testing-only dependencies androidTestCompile 'com.android.support:support-annotations:23.3.0' androidTestCompile 'com.android.support.test:runner:0.3' androidTestCompile 'com.android.support.test:rules:0.3' androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2' } 

即使在上述改变之后,gradle并不开心:-(:
错误:与依赖项com.android.support:support-annotations冲突。 应用程序(23.4.0)和testing应用程序(23.3.0)的已解决版本不同。 有关详细信息,请参阅http://g.co/androidstudio/app-test-app-conflict

testingapk版本的变化是不同的! 所以我修改了以下粘贴的版本string:

(涅磐)

 dependencies { // App dependencies compile fileTree(dir: 'libs', include: ['*.jar']) testCompile 'junit:junit:4.12' compile 'com.android.support:appcompat-v7:23.4.0' // main APK // Testing-only dependencies androidTestCompile 'com.android.support:support-annotations:23.4.0' //test APK androidTestCompile 'com.android.support.test:runner:0.3' androidTestCompile 'com.android.support.test:rules:0.3' androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2' } 

你必须使用相同的版本的应用程序和androidTest APK。 为此,请指定与您的应用程序相同的版本,

 androidTestCompile 'com.android.support:support-annotations:24.1.1' 

其中24.1.1是在您的应用程序中使用的依赖项的版本号

 compile 'com.android.support:design:24.1.1' 
 /* Resolves dependency versions across test and production APKs, specifically, transitive dependencies. This is required since Espresso internally has a dependency on support-annotations. */ configurations.all { resolutionStrategy.force "com.android.support:support-annotations:$rootProject.supportLibraryVersion" }