Flutter使用flutter_html时webview_flutter_android minSDK兼容报错求助
解决方案
你修改的\build\webview_flutter_android\intermediates\library_manifest\debug\AndroidManifest.xml是编译过程中自动生成的临时文件,每次执行编译操作都会被重新覆盖,所以修改不会生效,可按以下方案解决问题:
- 方案1:提升项目minSdk版本(最推荐,无兼容风险)
打开项目路径下的android/app/build.gradle文件,找到defaultConfig代码块,将其中的minSdkVersion参数值修改为19或更高,示例配置如下:
修改完成后重新执行编译即可。android { defaultConfig { // 将原有的minSdkVersion 16修改为19或更高 minSdkVersion 19 // 其余配置保持不变 } } - 方案2:强制兼容低版本minSdk(仅当你需要支持安卓4.4以下版本时使用)
打开项目路径下的android/app/src/main/AndroidManifest.xml文件,首先在根manifest标签中添加tools命名空间声明,再添加<uses-sdk>配置强制覆盖库的minSdk要求:
注意:该方案可能导致App在安卓系统版本低于19的设备上运行时出现崩溃问题,需要针对低版本设备做充分测试<manifest xmlns:android="http://schemas.android.com/apk/res/android" <!-- 新增tools命名空间声明 --> xmlns:tools="http://schemas.android.com/tools"> <!-- 新增强制覆盖配置 --> <uses-sdk tools:overrideLibrary="io.flutter.plugins.webviewflutter" /> <application ...其余原有配置保持不变 > </application> </manifest> - 方案3:降级依赖库版本
如果你既不想提升minSdk也不想承担强制兼容的风险,可以在pubspec.yaml中锁定兼容minSdk 16的旧版本flutter_html和对应的webview_flutter依赖版本,替换当前使用的高版本依赖后重新执行flutter pub get再编译即可。
内容的提问来源于stack exchange,提问作者cris gomez
相关产品推荐
相关产品推荐

