如何修改Android Studio创建module时默认的compileSdkVersion

发布时间 - 2026-01-11 00:58:59    点击率:

前言

今天下午的时候有人问到,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开发者们能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。


# compilesdkversion  # compile  # sdk  # version  # android  # studio教程  # Android studio 项目手动在本地磁盘中删除module后  # 残留文件夹无法删除的问题解决方法  # Android Studio彻底删除项目 Android Studio彻底删除Module  # Android studio 如何删除项目 module  # Android Studio中导入module的方法(简单版)  # Android Studio导入Project与Module的方法及实例  # Android Studio 如何删除/新建一个module(图文教程详解)  # 也不  # 是在  # 会有  # 看了  # 也会  # 大功告成  # 好吧  # 这篇文章  # 谢谢大家  # 问到  # 即为  # 需要注意  # 又得  # 发生冲突  # 而不是  # 完成了  # 就算是  # 有疑问  # Google  # lt 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 消息称 OpenAI 正研发的神秘硬件设备或为智能笔,富士康代工  php json中文编码为null的解决办法  Laravel如何实现文件上传和存储?(本地与S3配置)  Gemini手机端怎么发图片_Gemini手机端发图方法【步骤】  如何注册花生壳免费域名并搭建个人网站?  Laravel请求验证怎么写_Laravel Validator自定义表单验证规则教程  如何快速搭建FTP站点实现文件共享?  JavaScript如何实现错误处理_try...catch如何捕获异常?  php结合redis实现高并发下的抢购、秒杀功能的实例  长沙企业网站制作哪家好,长沙水业集团官方网站?  如何在 Pandas 中基于一列条件计算另一列的分组均值  Laravel如何实现多表关联模型定义_Laravel多对多关系及中间表数据存取【方法】  Laravel的路由模型绑定怎么用_Laravel Route Model Binding简化控制器逻辑  如何快速生成专业多端适配建站电话?  zabbix利用python脚本发送报警邮件的方法  Laravel如何实现API资源集合?(Resource Collection教程)  如何快速搭建高效WAP手机网站吸引移动用户?  哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?  东莞市网站制作公司有哪些,东莞找工作用什么网站好?  Laravel如何实现数据库事务?(DB Facade示例)  Laravel如何记录自定义日志?(Log频道配置)  Python文件异常处理策略_健壮性说明【指导】  Python并发异常传播_错误处理解析【教程】  Laravel如何创建自定义中间件?(Middleware代码示例)  零服务器AI建站解决方案:快速部署与云端平台低成本实践  如何在浏览器中启用Flash_2025年继续使用Flash Player的方法【过时】  Win11怎么关闭透明效果_Windows11辅助功能视觉效果设置  敲碗10年!Mac系列传将迎来「触控与联网」双革新  详解阿里云nginx服务器多站点的配置  如何在不使用负向后查找的情况下匹配特定条件前的换行符  Linux后台任务运行方法_nohup与&使用技巧【技巧】  详解Nginx + Tomcat 反向代理 如何在高效的在一台服务器部署多个站点  手机怎么制作网站教程步骤,手机怎么做自己的网页链接?  Laravel如何配置Horizon来管理队列?(安装和使用)  晋江文学城电脑版官网 晋江文学城网页版直接进入  打造顶配客厅影院,这份100寸电视推荐名单请查收  html5如何实现懒加载图片_ intersectionobserver api用法【教程】  标题:Vue + Vuex 项目中正确使用 JWT 进行身份认证的实践指南  js代码实现下拉菜单【推荐】  Laravel如何处理CORS跨域问题_Laravel项目CORS配置与解决方案  JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)  laravel服务容器和依赖注入怎么理解_laravel服务容器与依赖注入解析  怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?  香港服务器租用费用高吗?如何避免常见误区?  Laravel中的Facade(门面)到底是什么原理  如何自定义建站之星模板颜色并下载新样式?  Laravel如何使用.env文件管理环境变量?(最佳实践)  香港服务器建站指南:免备案优势与SEO优化技巧全解析  ChatGPT怎么生成Excel公式_ChatGPT公式生成方法【指南】  Laravel怎么实现验证码功能_Laravel集成验证码库防止机器人注册