最近我打开了我的旧项目,现在有一个警告,以前没有发生过这样的事情

警告看起来像

Warning
──────────────────────────────────────────────────────────────────────────────
Your Flutter application is created using an older version of the Android
embedding. It's being deprecated in favor of Android embedding v2. Follow the
steps at

https://flutter.dev/go/android-project-migration

to migrate your project.

flutter doctor -v summary

[✓] Flutter (Channel stable, 1.22.2, on Mac OS X 10.15.3 19D76, locale en-GB)
    • Flutter version 1.22.2 at /Users/pkimac/Development/flutter
    • Framework revision 84f3d28555 (6 weeks ago), 2020-10-15 16:26:19 -0700
    • Engine revision b8752bbfff
    • Dart version 2.10.2

 
[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
    • Android SDK at /Users/pkimac/Library/Android/sdk
    • Platform android-30, build-tools 29.0.3
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 11.3.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 11.3.1, Build version 11C504
    • CocoaPods version 1.10.0.rc.1

[!] Android Studio (version 4.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    ✗ Flutter plugin not installed; this adds Flutter specific functionality.
    ✗ Dart plugin not installed; this adds Dart specific functionality.
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)

[✓] Connected device (1 available)
    • iPhone 11 Pro (mobile) • 7A52F1D0-79F7-471C-AA62-3C106114A1A9 • ios • com.apple.CoreSimulator.SimRuntime.iOS-13-3 (simulator)
    ! Error: Paresh’s iPhone has recently restarted. Xcode will continue when Paresh’s iPhone is unlocked. (code -14)

! Doctor found issues in 1 category.

这意味着什么?我如何解决这个警告?

推荐答案

如果您在版本1.12之前创建了项目,则会出现此警告

为了更好地支持将Flutter 添加到现有项目的执行环境,托管io.flutter.app.FlutterActivity的Flutter 运行时的旧Android平台端包装器及其关联的类现在已弃用.io.flutter.embedding.android.FlutterActivity中的新包装器和关联的类现在取代了它们.

您现有的完整Flutter 项目不会立即受到影响,在可预见的future 将继续像以前一样工作.

要迁移项目,请执行以下步骤:

  1. 移除MainActivity.javaMainActivity.kt的主体并更改FlutterActivity导入.新的FlutterActivity不再需要手动注册您的插件.它现在将在创建衬底FlutterEngine时自动执行注册.您的文件应该是这样的

    package com.appname.app
    
    import io.flutter.embedding.android.FlutterActivity
    
    class MainActivity: FlutterActivity() {
    
    }
    

    如果您的MainActivity.javaMainActivity.kt中有现有的自定义平台通道处理代码,那么将onCreate中的通道注册部分代码移到FlutterActivity子类的configureFlutterEngine覆盖中,并使用flutterEngine.getDartExecutor().getBinaryMessenger()而不是getFlutterView()作为二进制信使.

  2. 打开android/app/src/main/AndroidManifest.xml.

  3. 从应用程序标记中删除对应用程序的引用.你的文件应该是这样的

    以前的配置:

    <application
       android:name="io.flutter.app.FlutterApplication"
       >
       <!-- code omitted -->
    </application>
    

    新配置:

    <application
      >
      <!-- code omitted -->
    </application>
    
  4. 更新闪屏行为(如果需要闪屏行为).

    AndroidManifest.xml中,用键android:name="io.flutter.app.android.SplashScreenUntilFirstFrame"移除所有<meta-data>个标签.

  5. <application>下添加一个新的<meta-data>标签.

    <meta-data
      android:name="flutterEmbedding"
      android:value="2" />
    

    enter image description here

Flutter相关问答推荐

类型flatter doctor get zsh:未找到命令:macO中flatter

如何将Visual Studio代码中Flutter 应用的包名从com.example.XXX更改为Play Store中受限制的包名称

如何在应用程序中使用Fflight显示表情包

升级到Ffltter 3.16后,应用程序栏、背景 colored颜色 、按钮大小和间距都会发生变化

如何在点击查看措辞下方添加句子?

如何在 Flutter 中创建具有渐变背景色的自定义 Snackbar?

如何在flutter中实现这样的底部导航栏?

没有为类型 'Widget' 定义运算符 '[]' .try 定义运算符[]

Flutter 中的 Provider 不会在第一次构建 App 时返回

从子集合sem中获取参考学年&&课程名称的值

Flutter 分析发现 Gitlab CI/CD 管道中的问题,但它在本地没有

Agora VideoCall 不显示远程视频网格

java.lang.IncompatibleClassChangeError:找到接口 com.google.android.gms.location.SettingsClient,

如何在向下滚动时隐藏顶部卡片并在向上滚动时出现?

如何在 flutter 中使用 tabbar 作为底部导航栏?

在 flutter 的另一个类中使用变量值

如何在 flutter 的alert 对话框中实现进度指示器?

无效的 depfile: C:\xxx\xxx\Flutter\project_name\.dart_tool\flutter_build\df4b308df1ee4bce22c56c71751554d1\kernel_snapshot.d 无效

如何在Flutter中制作带有波浪边框的圆圈来显示图像?

解密 Modulr 安全令牌