You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

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版本大概率会删掉这个属性,所以趁早换成新写法更稳妥
  • 不光是compileSdktargetSdk也有同样的变化,现在也推荐放到sdk块里配置,比如sdk { targetSdk = 36 }

我自己改完之后,Android Studio里的删除线提示直接就消失了,编译运行也完全正常,你可以试试这个方案!

火山引擎 最新活动