为Android开发插件时找不到Flutter

Leo*_*lva 9 plugins android flutter

我分叉了一个插件,目的是进行更新以使用适用于 Android 的嵌入 v2。但是当我在 Android Studio 上打开 android 文件夹时,它没有找到 Flutter。它无法导入这些类:

import io.flutter.plugin.common.MethodChannel;
import io.flutter.plugin.common.MethodChannel.MethodCallHandler;
import io.flutter.plugin.common.MethodChannel.Result;
import io.flutter.plugin.common.MethodCall;
import io.flutter.plugin.common.PluginRegistry.Registrar;
Run Code Online (Sandbox Code Playgroud)

编辑 Flutter 插件的 Android 部分有什么我遗漏的吗?

这是我要更新的插件:https : //github.com/lslv1243/launch_review

提前致谢!

Geo*_*gii 8

事实证明这是一个已知错误:https://github.com/flutter/flutter/issues/19830。您可以在那里找到不同的解决方案和问题的一般讨论。

提供的解决方案对我的情况没有帮助。已经解决的是这个(由@incloudss):

对于仍然遇到这个问题的每个人,请忽略官方文档,并且不要按照他们描述的方式打开 android 项目。

反而:

  1. 打开主 flutter 项目。
  2. 转到 Tools -> Flutter -> Open For Editing In Android Studio(是的,它没有意义,因为我们已经在 AS 中,但它可以工作)。


Kap*_*ria 6

您应该从 example/android 位置在 android studio 中打开项目。


And*_*nin 6

当我执行以下步骤时,它对我有用(假设 Dart 和 Flutter 插件在 Android Studio 首选项中正确配置):

  1. 关闭所有项目,直到您看到“欢迎使用 Android Studio”窗口,其中包含最近的项目列表和中心的一组选项
  2. 选择“打开现有的 Android Studio 项目”
  3. 选择文件 plugin/example/android/build.gradle

  • 但为什么它可以从plugin/example/android/build.gradle打开它,而不能从plugin/android/build.gradle打开它呢? (3认同)

Lin*_*uis 5

当我从 Flutter 项目的插件模块导入 android 项目时,我遇到了类似的情况。这意味着,我的 Flutter 项目在项目根目录下有一个 android 文件夹,并且在我作为插件导入的模块内有另一个 android 目录。如果我尝试使用 android studio 打开该模块,它将不会检测到“ io.flutter.plugin.common ”包。因为它缺少“flutter.jar”库。

所以我所做的是,我只是将 flutter.jar 路径添加到依赖项中,

implementation files('/Users/username/Developer/flutter/bin/cache/artifacts/engine/android-arm64-release/flutter.jar')
Run Code Online (Sandbox Code Playgroud)

这里我选择'android-arm64-release'因为我使用的是M1芯片的MacBook。

现在我可以编辑插件项目的android模块。但是要运行flutter项目,我必须注释掉flutter.jar依赖项并在运行之前再次同步,否则会显示冲突错误。