You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

迁移Flutter项目时遇到Android embedding旧版本弃用警告如何处理

Flutter项目Android Embedding v2迁移方案

以下是完整的迁移操作步骤:

1. 修改AndroidManifest.xml配置

打开项目下android/app/src/main/AndroidManifest.xml文件,做三处修改:

  • 替换<application>标签的android:name属性值为${applicationName},示例修改后:
    <application
        android:name="${applicationName}"
        android:label="你的应用名"
        android:icon="@mipmap/ic_launcher">
    
  • 找到主Activity(一般是MainActivity)的<activity>标签,替换android:name属性值为io.flutter.embedding.android.FlutterActivity
  • 删除主Activity标签内如下旧版闪屏配置的meta-data行:
    <meta-data
        android:name="io.flutter.app.android.SplashScreenUntilFirstFrame"
        android:value="true" />
    

2. 调整主Activity代码

打开android/app/src/main/下对应语言(Kotlin/Java)的MainActivity文件:

  • 移除旧版FlutterActivity的导入,替换为v2版本的导入:
    • Kotlin:import io.flutter.embedding.android.FlutterActivity
    • Java:import io.flutter.embedding.android.FlutterActivity;
  • 清空类内部多余的重写方法(无自定义原生逻辑的前提下),最终代码示例:
    // Kotlin 版本
    import io.flutter.embedding.android.FlutterActivity
    
    class MainActivity: FlutterActivity() {
    }
    
    // Java 版本
    import io.flutter.embedding.android.FlutterActivity;
    
    public class MainActivity extends FlutterActivity {
    }
    

3. 补充gradle配置(旧版本项目需要)

如果你的项目是Flutter 1.12版本之前创建的,打开android/gradle.properties文件,添加如下配置:

flutter.androidEmbeddingV2=true

4. 验证修改

执行flutter clean清理项目缓存,之后重新运行项目,弃用警告即可消除。

特殊情况说明

如果你有自定义Application逻辑,将原有继承的io.flutter.app.FlutterApplication替换为io.flutter.embedding.android.FlutterApplication即可,原有自定义逻辑无需额外修改。

内容的提问来源于stack exchange,提问作者SHRISHMA PANDEY

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 12:39:04