Jetpack Compose支持哪些Android版本?可向下兼容旧系统版本吗?
Jetpack Compose 版本兼容说明及旧版本适配方案
首先明确:Jetpack Compose 并不只能在SDK 31(Android 12)设备上运行,它的最低运行兼容版本为API 21(Android 5.0 Lollipop),覆盖了目前市面上绝大多数活跃Android设备。很多开发者容易混淆开发要求和运行要求:开发时要求编译SDK版本不低于31,但最终打包出的应用可以正常在API 21及以上的所有设备运行。
旧版本系统使用Compose的配置方法
- 配置模块级
build.gradle基础参数
首先将compileSdk设置为31或更高,minSdk按业务需求设置为21或更高即可,若开发WearOS应用则minSdk最低要求为25。同时开启Compose构建开关:android { // 开启Compose构建支持 buildFeatures { compose true } // 配置Compose编译器版本 composeOptions { kotlinCompilerExtensionVersion = "与你使用的Compose版本、Kotlin版本匹配的扩展版本号" } } - 匹配版本依赖
必须保证项目使用的Kotlin版本和kotlinCompilerExtensionVersion版本对应,否则会出现编译错误,对应关系可以查阅Android开发者官方的Compose版本说明。 - 高版本特性适配
Compose官方已经对绝大多数通用功能做了向下兼容,开发者无需额外处理:- API 31及以上设备可以正常使用所有Compose特性,包括动态取色、新版系统波纹效果等
- API 31以下设备上,依赖高版本系统的特性会自动降级,比如动态颜色会自动替换为App主题预设的固定色值,不会出现功能异常
如果你的业务代码用到了特定系统版本才有的原生API,和原生开发逻辑一致,通过Build.VERSION.SDK_INT做版本判断即可。
内容的提问来源于stack exchange,提问作者Joshua Miller
相关产品推荐
相关产品推荐

