flutter_inappwebview需Android SDK 33版本,调整后仍无法运行
解决flutter_inappwebview和youtube_player_flutter的Android SDK版本冲突问题
问题根源
你使用的youtube_player_flutter 8.1.1 内部依赖了旧版本的webview组件,可能会强制拉低Android SDK的目标版本——哪怕你手动设置了SDK33,也会被这个间接依赖覆盖。另外,gradle缓存未清理、配置未完全同步也可能导致问题持续存在。
解决步骤
1. 修正Android项目的SDK配置
打开项目中的 android/app/build.gradle 文件,确保以下配置正确:
android { compileSdkVersion 33 defaultConfig { minSdkVersion 21 // 最低支持21即可,可按需调整 targetSdkVersion 33 // 其余原有配置保留 } }
2. 强制统一webview依赖版本
打开 android/build.gradle 文件,在allprojects块中添加依赖分辨率策略,强制使用兼容SDK33的webview版本:
allprojects { repositories { // 保留原有仓库配置 } configurations.all { resolutionStrategy { force 'androidx.webkit:webkit:1.5.0' // 该版本适配SDK33 } } }
3. 清理缓存并重新同步
旧缓存会干扰配置生效,执行以下命令彻底清理并同步:
flutter clean cd android ./gradlew clean ./gradlew build --refresh-dependencies cd .. flutter pub get
4. 排查依赖树冲突
如果以上步骤无效,查看youtube_player_flutter的依赖树,确认是否存在冲突:
flutter pub deps
找到与webview相关的依赖项,若存在版本过低的情况,可尝试升级youtube_player_flutter到最新兼容版本,或替换为其他适配SDK33的YouTube播放插件。
5. 验证flutter_inappwebview的基础配置
打开 android/app/src/main/AndroidManifest.xml,确保必要权限已添加:
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
内容的提问来源于stack exchange,提问作者Krishna prasad
相关产品推荐
相关产品推荐

