【问题标题】:How do I remove directories from Indexing in Android Studio?如何从 Android Studio 的索引中删除目录?
【发布时间】:2021-04-13 14:09:31
【问题描述】:

我有一个包含许多子项目的大型项目文件夹。只有4个是Android项目的一部分,其余都是C代码。

但是,Android Studio 似乎正在索引所有这些内容,这需要很长时间。

如何从索引中排除这些其他目录?

没有办法明确地做到这一点,并且模块设置只列出了 Android 项目,所以我无法从那里删除其他文件夹。

【问题讨论】:

    标签: android-studio


    【解决方案1】:
    1. 在项目浏览器中选择目录。
    2. CtrlShiftAShiftCmdA
    3. 搜索 Excluded 并回车。

    小心,我还没有找到“重新包含”文件夹的方法。

    【讨论】:

    • 一种重新包含文件夹的肮脏方法是编辑父 .iml 文件并删除相应的 excludeFolder 条目。
    • @DavidBurström 难道.iml文件不会在每个项目构建时被Android Studio覆盖吗?很确定您需要从某个位置的 build.gradle 文件中删除它,这是生成 excludeFolder 条目的位置。
    • @JoshuaPinter 是的,你是对的。我刚刚发布了一个我已经成功使用的新解决方案。
    • @DavidBurström 好东西。我为它找到了相同的解决方案:stackoverflow.com/a/47244842/293280
    【解决方案2】:
    1. (可选)如果看不到要排除的文件夹,请切换到项目视图
    2. 右键单击要排除的文件夹
    3. 在上下文菜单中单击“将目录标记为”-->“排除”
      它应该如下所示:
    4. (可选)如果要包含文件夹,请单击“将目录标记为”-->“取消排除”

    【讨论】:

    • 这是对我有用的最简单的解决方案。只需确保在排除目录后重新打开项目
    【解决方案3】:

    使用'idea' 插件排除目录。出于某种原因,如果子项目正在配置 idea 配置(并且将始终排除 project.buildDir.gradle 文件夹),似乎会忽略 idea 配置,但如果您告诉根项目要排除哪些目录,它会起作用:

    在你的根项目build.gradle 文件中,做

    apply plugin: 'idea'
    idea {
      module {
        excludeDirs.add(file('path/to/subproject'))
        excludeDirs.add(file('path/to/othersubproject'))
      }
    }
    

    同步后,您会注意到根项目.iml 文件包含相应的<excludeFolder> 标签,并且Android Studio 不再索引目录。

    【讨论】:

    • 当你说“不再”时,涉及到哪些版本?
    • excludeDirs += 有效,但 excludeDirs.add 无效。这适用于 Android Studio 3.5:stackoverflow.com/questions/58033717/…
    • 这可能是idea gradle插件的一个bug。对于最近的 Studio 和 gradle 版本,上述 sn-p 是否仍然适用于您?
    • 如何从索引中排除特定文件类型?
    【解决方案4】:

    在左侧项目面板中,右键单击要从索引中排除的文件,然后选择Mark as Plain Text

    【讨论】:

      猜你喜欢
      • 2014-01-17
      • 2018-06-11
      • 2016-07-29
      • 2016-12-03
      • 2018-08-02
      • 1970-01-01
      • 2012-05-11
      • 2023-02-23
      相关资源
      最近更新 更多