Android Studio Error:Execution failed for task ':app:preDebugAndroidTestBuild'.彻底解决的方法以及修改AScompileSDKVersion
本文为作者原创,允许转载,不过请在文章开头明显处注明链接和出处!!! 谢谢配合~
作者:stars-one
链接:https://www.cnblogs.com/stars-one/p/10332344.html
本篇大约有1867个字,阅读预计需要2.33分钟
Error
Error:Execution failed for task ':app:preDebugAndroidTestBuild'. >
Conflict with dependency 'com.android.support:support-annotations' in project ':app'.
Resolved versions for app (26.1.0) and test app (27.1.1) differ.
See https://d.android.com/r/tools/test-apk-dependency-conflicts.html for details.
问题说明
因为使用的依赖包版本不同的原因,所以,我们强制使用一样的版本即可解决问题
在adroid结点下添加下述代码
configurations.all {
resolutionStrategy.force 'com.android.support:support-annotations:26.1.0'
}
把版本号修改一下即可
一劳永逸的办法
上面的办法在当前的项目是已经解决了的,但是,新建一个项目又会出现同样的问题,这就很烦了。
我们直接通过修改新建一个项目的模板,直接把默认的那些设置改了,即可达成一劳永逸
我的版本是Android Studio 3.0.1 网上查找修改这些默认设置的时候,资料发现不太一样,自己摸索也是找到了关键的地方
找到路径Android Studio的根目录\plugins\android\lib\templates\gradle-projects\NewAndroidModule\root
的shared_macros.ftl
文件,上面自己需要的代码复制在android结点下即可
扩展,修改buildToolVersion targetVersion gradleVersion等默认版本
-
appcompat版本号
--
Android Studio的根目录\plugins\android\lib\templates\gradle-projects\NewAndroidModule
的recipe.xml.ftl
<#if backwardsCompatibility!true>
</#if> -
compileSdkVersion,buildToolsVersion,targetSdkVersion等版本号
--
Android Studio的根目录\plugins\android\lib\templates\gradle-projects\NewAndroidModule\root
的shared_macros.ftl
android { compileSdkVersion 25 <#if compareVersions(gradlePluginVersion, '3.0.0') lt 0>buildToolsVersion 27.0.1</#if> <#if isBaseFeature> baseFeature true </#if> defaultConfig { <#if hasApplicationId> applicationId "${applicationId}" </#if> minSdkVersion <#if minApi?matches("^\\d+$")>${minApi}<#else>'${minApi}'</#if> targetSdkVersion 25 versionCode 1 versionName "1.0"
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
2018-01-29 Android开发——Notification通知的各种Style详解
2018-01-29 Android开发——Notification通知的使用及NotificationCopat.Builder常用设置API