最低SDK版本为21时能否使用Navigate Compose进行开发?
当前所有稳定版Navigation Compose的最低支持SDK版本就是21,无需调高项目的minSdk版本即可正常打包发布。你遇到的编译失败问题和minSdk配置无关,可按照以下方向排查问题:
- 核对Module级
build.gradle中的配置项,确认你没有混淆minSdk、compileSdk、targetSdk三个配置:Navigation Compose要求compileSdk至少匹配你使用的Compose编译器版本,目前推荐设置不低于34,该配置仅影响编译环节,不会抬高应用的最低运行设备要求。 - 检查Navigation Compose依赖版本是否和项目内其他Compose全家桶依赖版本对齐,推荐使用Compose BOM统一管理所有Compose相关依赖的版本,避免跨依赖版本冲突引发的编译报错。
- 若报错信息包含Java核心库相关的不兼容提示,确认你已经开启了Java 8+ 核心库脱糖支持,参考配置如下:
android { compileOptions { coreLibraryDesugaringEnabled true sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } kotlinOptions { jvmTarget = "1.8" } } dependencies { coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.0.4' }
- 排查导航业务代码中是否调用了高于SDK 21的系统API,这类版本兼容问题需要单独做适配处理,和Navigation Compose本身的能力无关。
内容的提问来源于stack exchange,提问作者Connor
相关产品推荐
相关产品推荐

