Android Gradle Plugin 8.12.0 是否弃用了compileSdk?
Android Gradle Plugin 8.12.0 是否弃用了compileSdk?
兄弟,我刚升级AGP 8.12.0的时候也一脸懵——这不才刚把compileSdkVersion换成compileSdk没两年吗,怎么突然就提示弃用了?!后来翻了官方的更新说明(不得不说这次文档藏得有点深),终于搞懂了:
确实,AGP 8.12.0已经把顶层的compileSdk属性标记为弃用了。官方这次调整是为了把所有和SDK版本相关的配置统一收拢到android块下的sdk子块里,既让整体配置结构更规整,还能明确区分正式版和预览版SDK的配置方式。
给你看具体的写法对比:
原来的弃用写法(会出现删除线提示)
android { compileSdk 36 }
现在推荐的新写法
android { sdk { // 配置正式版SDK版本 compileSdk = 36 // 如果用的是安卓预览版SDK,比如VanillaIceCream(安卓15预览版),就这么写: // compileSdkPreview = "VanillaIceCream" } }
另外补充两点:
- 目前旧写法还能正常编译,因为官方只是标记弃用还没彻底移除,但后续AGP版本大概率会删掉这个属性,所以趁早换成新写法更稳妥
- 不光是
compileSdk,targetSdk也有同样的变化,现在也推荐放到sdk块里配置,比如sdk { targetSdk = 36 }
我自己改完之后,Android Studio里的删除线提示直接就消失了,编译运行也完全正常,你可以试试这个方案!




