迁移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:
- 清空类内部多余的重写方法(无自定义原生逻辑的前提下),最终代码示例:
// 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
相关产品推荐
相关产品推荐

