Android Studio Error:Execution failed for task ':app:preDebugAndroidTestBuild'.徹底解決的方法以及修改AScompileSDKVersion


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\rootshared_macros.ftl文件,上面自己需要的代碼復制在android結點下即可

擴展,修改buildToolVersion targetVersion gradleVersion等默認版本

  • appcompat版本號
    --
    Android Studio的根目錄\plugins\android\lib\templates\gradle-projects\NewAndroidModulerecipe.xml.ftl

    <#if backwardsCompatibility!true>

    </#if>

  • compileSdkVersion,buildToolsVersion,targetSdkVersion等版本號
    --
    Android Studio的根目錄\plugins\android\lib\templates\gradle-projects\NewAndroidModule\rootshared_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"
    

小工具(懶人必備)

AlterASDefaultSetting


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM