Flutter项目MainActivity.java提示Embedding缺失 调用Java代码依赖报错
Flutter Embedding 依赖缺失问题修复方案
该报错为Flutter Android端V2 Embedding配置异常导致的依赖引用失败问题,可按以下步骤逐一排查修复:
1. 校验Flutter SDK配置
- 打开Android Studio
File > Settings > Languages & Frameworks > Flutter面板,确认Flutter SDK路径指向本地正确的SDK解压目录,配置错误或未配置的情况下手动选择对应路径后重启IDE即可。
2. 修正Gradle配置
- 打开
android/build.gradle文件,确认Flutter Gradle插件版本和本地Flutter SDK版本匹配,不需要手动指定插件版本,保持项目创建时自动生成的配置即可,参考示例:
buildscript { ext.kotlin_version = '1.7.10' repositories { google() mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:7.2.0' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } }
- 打开
android/app/build.gradle文件,确认minSdkVersion≥19,同时添加v2 Embedding声明:
defaultConfig { // 其余配置保持不变 minSdkVersion 19 manifestPlaceholders += [ "flutterEmbedding": 2 ] }
3. 修正MainActivity导入包名
- 移除旧版V1 Embedding的导入语句,使用V2版本正确的包名,Java版示例如下:
import io.flutter.embedding.android.FlutterActivity; import io.flutter.embedding.engine.FlutterEngine; import io.flutter.plugin.common.MethodChannel; public class MainActivity extends FlutterActivity { private static final String CHANNEL = "your_method_channel_name"; // 其余Method Channel逻辑按需求实现即可 }
4. 清理缓存重新构建
- 在项目根目录依次执行以下命令清理缓存:
flutter cleanflutter pub get
- 进入android目录执行清理命令:
- Mac/Linux:
./gradlew clean - Windows:
gradlew.bat clean
- Mac/Linux:
- 重启Android Studio后重新运行项目即可解决依赖缺失问题。
报错截图:
内容的提问来源于stack exchange,提问作者preeti
相关产品推荐
相关产品推荐


