无法解析符号 FlutterActivity

3
我使用“VCS -> 从版本控制中检出”将Flutter项目从GitHub导入到Android Studio。现在我遇到了这个问题:Cannot resolve symbol FlutterActivity,位于android的MainActivity.java文件中。
我使用New Flutter Project向导创建了另一个Flutter项目。在那里没有出现这种问题。两个项目之间的区别是从GitHub导入的项目没有External Libraries/Flutter for Android/flutter.jar,而从头开始创建的项目有此文件。
我比较了两个项目的pubspec.yaml和build.gradle文件,但没有找到任何类似于该依赖项的内容。
以下是涉及到的项目的pubspec.yaml文件:
name: utopian_rocks_mobile
description: A new Flutter project.

version: 1.0.0+1

environment:
  sdk: ">=2.0.0-dev.68.0 <3.0.0"

dependencies:
  flutter:
    sdk: flutter

  http: ^0.12.0
  rxdart: ^0.19.0
  cupertino_icons: ^0.1.2

dev_dependencies:
  flutter_test:
    sdk: flutter


flutter:

  uses-material-design: true

这种依赖关系在Flutter项目中应该如何处理?

1
请尝试访问 https://github.com/flutter/flutter/wiki/Workarounds-for-common-issues#generated-project-files-outdated。 - Günter Zöchbauer
@Günter Zöchbauer 感谢您的指出!还有其他一些问题,但这个问题已经解决了。 - AlexKost
3个回答

9
创建一个 Flutter 项目时,使用 flutter create foo 命令会在 ios/android/ 子目录中创建多个文件。
较新版本的 Flutter 可能以稍微不同的方式生成这些文件,而使用旧版 Flutter 创建的项目可能会导致问题。 修复方法
删除 ios/ 和/或 android/ 目录,并运行 flutter create . 命令重新生成这些目录。 提示
自定义更改将会丢失,需要重新应用。如果项目已提交到像 Git 这样的版本控制系统,则最容易实现。

创建一个新的Flutter项目,然后从GitHub仓库中拉取以确保项目正确设置,这样做有意义吗? - AlexKost
我不明白你的意思。从GitHub拉取什么?在创建新项目之前,请确保您的Flutter安装是最新的。 - Günter Zöchbauer
我的意思是,假设我想从GitHub上拉取一个Flutter项目并在本地机器上进行工作。我遇到上述问题的方式是使用Android Studio中的“从版本控制检出”。我怀疑它跳过了生成有效Flutter项目所需的一些步骤。因此,我认为首先创建Flutter项目将完成所有必需的设置。然后再从存储库中拉取。 - AlexKost
1
如果项目是使用旧版Flutter创建的,那么我的答案基本上就是解决您问题的方法,直到Flutter团队改进生成文件的自动更新。https://github.com/flutter/flutter/wiki/Workarounds-for-common-issues#generated-project-files-outdated 链接到相关问题。 - Günter Zöchbauer

0
你可以尝试将android文件夹链接为gradle项目。右键单击android/build.gradle文件,选择链接为gradle项目。然后你就可以在gradle工具窗口中刷新依赖项。 enter image description here


0

使用Android Studio创建一个新的Flutter项目时,你可能会发现找不到FlutterActivity类,这是因为Android Studio无法找到Flutter SDK路径。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接