如何修复 Flutter 警告:您的 Flutter 应用程序是使用旧版本创建的

Jav*_*haq 13 flutter

我在运行 Flutter 应用程序时收到以下警告。请指导如何修复它

Warning: Your Flutter application is created using an older version of the Android
embedding. It's being deprecated in favor of Android embedding v2.
Run Code Online (Sandbox Code Playgroud)

Hos*_*our 108

如果您是因为 flutter 2.10 而来到这里,请执行以下操作:

改变这个:

<application
    android:icon="@mipmap/ic_launcher"
    android:name="io.flutter.app.FlutterApplication"
    android:label="PassesBox"
    ...
Run Code Online (Sandbox Code Playgroud)

对此:

<application
    android:icon="@mipmap/ic_launcher"
    android:name="${applicationName}"
    android:label="PassesBox"
    ...
Run Code Online (Sandbox Code Playgroud)


Dar*_*hah 36

您可以将此添加到标签AndroidManifest.xmlactivity

<meta-data
         android:name="flutterEmbedding"
         android:value="2" />
Run Code Online (Sandbox Code Playgroud)

这应该删除警告。

  • 传奇,几周来一直在尝试解决这个问题 (3认同)
  • 它对我不起作用,添加它时出现此错误:MainActivity.java:19: error: incomplete types: MainActivity无法转换为FlutterEngine generatedPluginRegistrant.registerWith(this); (2认同)
  • 你能解释一下代码吗?另外,我们是否必须删除旧的 &lt;meta-data&gt; 条目? (2认同)

小智 22

打开你的 AndroidManifest.xml 只需删除这一行

android:name="io.flutter.app.FlutterApplication"
Run Code Online (Sandbox Code Playgroud)


Ale*_*ina 15

如果您尚未将任何本机特定代码添加到您的 iOS/android 文件夹中:

删除安卓和iOS文件。

然后运行flutter create .来解决问题。

该命令将重新创建您的 Android 和 iOS 文件。

  • 这会让你失去你的代码......坏主意 (4认同)
  • 如果您没有添加任何特定于平台的代码,这可以工作。否则,您必须复制方法、关键属性以及已添加到 android 文件夹中的任何文件。ios 文件夹也必须执行相同的操作。或者,您可以关注 https://github.com/flutter/flutter/wiki/Upgrading-pre-1.12-Android-projects 此链接。 (2认同)