我是新的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...也没有成功。
如果使用版本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'
在依赖块之前,在app.gradle文件中添加以下行。
configurations.all {
resolutionStrategy {
force 'com.android.support:support-annotations:26.1.0'
}
}
下面还有截图,以便更好地理解。
配置。仅当您希望目标sdk为26时,“所有”块才有用。如果您可以将其更改为27,则错误将消失,而无需在应用程序中添加配置块。格雷德尔档案。
还有一种方法,如果你想删除所有的测试实现从app.gradle文件,它会解决错误,在这种情况下,你也不需要添加配置块,也不需要更改Target etsdk版本。
希望这有所帮助。
根据您的截图,我找到了两个可行的解决方案:
第一个解决方案:将此行添加到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中实现和编译有什么区别
今天我在android工作室开始了一个新的项目。一切顺利,没有差错。添加项目后,我借助android Studio中的Firebase助手工具,将项目与Firebase实时数据库进行了连接。 然后我得到这个错误: 我看到错误主要来自于在我的应用程序级别文件的末尾添加了这一行。因为当我把它评论出来的时候,它构建的很好。 我的项目::
我正在尝试解决两个错误: null 在我的Android Studio项目中运行集成测试。为了解决这个问题,我已经看到了一些答案和我的构建。Gradle看起来像: 这将解决这两个错误,但会出现一个警告: 错误:与项目“:App”中得依赖项“junit:junit”冲突.应用程序(4.11)和测试应用程序(4.12)的解析版本不同。 谢谢!
在Android P中获取错误时,直接访问此部分:
null 警告:与依赖项“com.android.support:support-annotations”冲突。应用程序(22.0.0)和测试应用程序(21.0.3)的解析版本不同。 Gradle本身更宽容,但Android工作室,就没那么宽容了。 我没有用21.0.3声明的依赖项...是不是其中一个依赖库使用21.0.3而谷歌忘了用批处理的其余部分更新它? null null null
我正在编译我的Android项目,但我遇到了这个错误 我在其他文章中读到,试图用Java 8编译可能会导致错误,但不是我的情况,我有以下Java版本: 操作系统:Linux薄荷(我没有安装Java 8。)构建:MAVEN 有谁能帮我一下吗?
对于hibernate,我在耳边添加了以下jar:hibernate-commons-annotations-4.0.5.final.jar、hibernate-core-4.3.11.final.jar和hibernate-entitymanager-4.3.11.final.jar。 对于seam,我包含了seam jar:jboss-seam.jar、jboss-seam-debug.jar