Flutter:在 Android Studio 中打开 android 模块被禁用

Posted

技术标签:

【中文标题】Flutter:在 Android Studio 中打开 android 模块被禁用【英文标题】:Flutter: Open android module in Android Studio is disabled 【发布时间】:2019-06-19 06:05:27 【问题描述】:

我正在尝试使用“在 android Studio 中打开 android 模块”在 android studio 中单独打开我的颤振项目,但是当我左键单击我的颤振项目窗口打开它时,这对我来说是禁用的,而“在 Xcode 中打开 ios 模块”有没有。请让我知道我可以启用它并可以在另一个模块中打开我的 android 的颤振项目。

【问题讨论】:

在flutter/flutter-intellij repo github.com/flutter/flutter-intellij/issues/3873 上为此创建了一个问题 【参考方案1】:

只需执行以下操作:

    右键点击android文件夹>New>File 重命名新文件 myproject_android.iml(将 myproject 更改为您的项目名称) 粘贴下面的xml代码并保存 右键点击android文件夹>Flutter>Open Android Module in Android Studio

Xml 代码:

<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
  <component name="NewModuleRootManager" inherit-compiler-output="true">
    <exclude-output />
    <content url="file://$MODULE_DIR$">
      <sourceFolder url="file://$MODULE_DIR$/lib" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/test" isTestSource="true" />
      <excludeFolder url="file://$MODULE_DIR$/.dart_tool" />
      <excludeFolder url="file://$MODULE_DIR$/.idea" />
      <excludeFolder url="file://$MODULE_DIR$/.pub" />
      <excludeFolder url="file://$MODULE_DIR$/build" />
    </content>
    <orderEntry type="sourceFolder" forTests="false" />
    <orderEntry type="library" name="Dart SDK" level="project" />
    <orderEntry type="library" name="Flutter Plugins" level="project" />
    <orderEntry type="library" name="Dart Packages" level="project" />
  </component>
</module>

【讨论】:

谢谢!这个解决方案有效..【参考方案2】:

由于android目录下的xxx_android.iml文件丢失,无法识别为android项目。

所以你只需要将其他项目中的xxx_android.iml文件复制到android目录下即可。

注意,将 xxx 替换为您的项目名称

【讨论】:

【参考方案3】:

前往

tools -> flutter -> open in exisiting android studio.

如果没有显示,则在 Flutter 中创建一个 Dummy 项目,然后使用新的 Flutter 插件生成 dummyFil.iml

dummyFil.iml 文件粘贴到您的项目中。

您将在现有的 android studio 选项中看到一个打开的选项。

【讨论】:

【参考方案4】:

>>> 仅适用于 Idea Intellij IDE

好的,我终于弄清楚为什么该选项不可用(灰显)。

应该是flutter插件老版本和新版本不一致的问题。

如果您使用较旧版本的flutter引擎创建项目,并使用新版本的flutter插件打开它,您可能会遇到此问题。

要知道发生了什么以及如何解决它:

旧项目包含一个文件:

这与最新创建的项目不同:

所以你知道如何解决这个问题:

将 iml 文件重命名为 (YourProjectName_android.iml) 这将立即使菜单再次突出显示!

【讨论】:

我没有 .iml 文件 @shahanakareen 经过一些搜索后,我发现 .iml 是为 Idea Intellij IDE 生成的。如果您使用其他 IDE,那么您将不会拥有它。我会更新答案。 我正在使用 Android Studio,我刚刚从 gitlab 导入了一个颤振项目。现在我没有获得编辑 android 模块的选项。我可以在文件夹的根目录下看到一个 iml 文件,但不在 android 文件夹内 @shahanakareen 该选项用于通过 Android Studio 从其他 IDE 打开项目。这不是您直接从 Android Studio 导入它的情况。你已经完成了它的功能。如果你不知道如何编辑android模块,你必须找到其他问题。 谢谢,它对我有用!起初我没有 .iml 文件,但是当我 File -> Open the android project .iml 文件由 android studio 自动生成,然后我将 .iml 文件重命名为 YourProjectName_android.iml 就可以了!

以上是关于Flutter:在 Android Studio 中打开 android 模块被禁用的主要内容,如果未能解决你的问题,请参考以下文章

Android Studio 在创建新的 Flutter 项目时卡住了

Flutter 未检测到 Android Studio

在 Android Studio 中设置 Flutter 时出现问题

Android Studio如何安装Flutter(windows系统)?

Android Studio 代码建议不适用于 Flutter

Flutter 如何在 Android Studio 中制作发布版本?