前言
今天下午的時候有人問到,AS 哪里能配置 build.gradle 的模板,從而達到每次新建 module 時默認的 compileSdkVersion 用指定的值而不是取最新 SDK 的 api-string。
解決方案
先看了 Preferences,并沒相關的 template 能修改 build.gradle,再 Google 了一會,只有該帖子提及到 build.gradle 的模板文件的位置。
按照給出的路徑 <android-studio>/plugins/android/lib/templates/gradle-projects/NewAndroidProject/root/build.gradle.ftl(Mac 上 <android-studio> 即為 /Applications/Android/ Studio.app/Contents)找到模板文件。
直接找到 compileSdkVersion 一行
compileSdkVersion <#if buildApiString?matches("^//d+$")>${buildApiString}<#else>'${buildApiString}'</#if>改為
compileSdkVersion 24
這樣就算是完成了。
額外的小問題
我們知道,AS 新建 Phone module 時都會添加 support appcompat 包。由于 appcompat 包的大版本如果跟 compileSdkVersion 不一樣也會出現 error 提示,所以也需要修改 appcompat 的默認版本。
但 appcompat 對應的模板文件并不在 build.gradle.ftl 中,而是在 <android-studio>/plugins/android/lib/templates/gradle-projects/NewAndroidProject/recipe.xml.ftl 中。
對應的代碼為
<#if backwardsCompatibility!true> <dependency mavenUrl="com.android.support:appcompat-v7:${buildApi}.+"/></#if>直接修改為
<dependency mavenUrl="com.android.support:appcompat-v7:24.+"/>
大功告成~
吐槽
一般也不會有這種奇葩需求,要是遇到了……好吧,暫時只有這解決方案。需要注意的就是 AS 更新的時候有可能會發生沖突并且用新的模板文件覆蓋修改過后的文件,所以又得重新處理一次,略麻煩。
總結
以上就是這篇文章的全部內容了,希望本文的內容對各位Android開發者們能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對VEVB武林網的支持。
新聞熱點
疑難解答