我机器上的Flutter v1.71仍使用旧的Android Embedding v1而非v2

我新创建的Flutter项目在使用条形码扫描库时遇到了麻烦。条形码相机预览页面已打开,但是一旦检测到QR,则android活动不会将任何数据返回至我的Flutter代码。因此,我要做的是使用另一台具有相同抖动版本的机器(MAC和Window),并尝试了能正常工作的条形码扫描。这就是说我的flutter项目存在一些问题。因此,我尝试调试并比较正在工作和不工作的项目。我知道工作的Flutter项目Mainactivity.kt和不工作的Flutter项目Mainactivity.kt具有不同的代码。下面是示例。正在运行的项目具有空的Mainactivity.kt。一番阅读后,我了解了其嵌入v1和v2的Android。 V1是旧的android嵌入,而v2是最新的android嵌入。但是在Flutter 1.1.2之后,所有项目都将使用v2创建。但是在我的机器上,尽管我将其更新为Flutter v1.7.1,但仍使用v1。我创建的所有新项目都使用v1。因此,某些软件包无法正常工作。但是,一旦我使用此文档(https://github.com/flutter/flutter/wiki/Upgrading-pre-1.12-Android-projects)从v1手动升级到v2,条形码扫描仪便可以使用了。如何使我扑朔迷离的新项目自动使用v2而不是v1。需要专家帮助。

扑朔迷离的项目

```package com.example.u_testing
   import io.flutter.embedding.android.Flutteractivity
   class Mainactivity: Flutteractivity() {
   }
```

无法正常工作的项目

```package com.example.testi
   import android.os.Bundle
   import io.flutter.app.Flutteractivity
   import io.flutter.plugins.GeneratedPluginRegistrant
   class Mainactivity: Flutteractivity() {
      override fun onCreate(savedInstanceState: Bundle?) {
      super.onCreate(savedInstanceState)
      GeneratedPluginRegistrant.registerWith(this)
   }
  }
 ````

Flutter项目

PS D:\Development\Mobile\Example\test\testAndv1> flutter doctor -v
[√] Flutter (Channel stable,v1.17.1,on microsoft Windows [Version 10.0.17763.1217],locale en-MY)
    • Flutter version 1.17.1 at C:\flutter
    • Framework revision f7a6a7906b (2 weeks ago),2020-05-12 18:39:00 -0700
    • Engine revision 6bc433c6b6
    • Dart version 2.8.2

[√] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
    • Android SDK at C:\Users\Thiyraash David\AppData\Local\Android\sdk
    • Platform android-29,build-tools 29.0.3
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b04)
    • All Android licenses accepted.

[√] Android Studio (version 3.6)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin version 45.1.1
    • Dart plugin version 192.8052
    • Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b04)

[√] VS Code (version 1.45.1)
    • VS Code at C:\Users\Thiyraash David\AppData\Local\Programs\microsoft VS Code
    • Flutter extension version 3.10.2

[!] Connected device
    ! No devices available```
iCMS 回答:我机器上的Flutter v1.71仍使用旧的Android Embedding v1而非v2

在您的帖子中,您使用了 Flutter v1.17.1。尝试upgradecurrent version of Flutter

基于文档,弃用了 android v1 嵌入应用程序和插件创建 landed in version: 1.20.0-8.0。检查 release notes20868

您可能还想检查 this post in medium。关于实现的一些参考。

本文链接:https://www.f2er.com/2265787.html

大家都在问