Android Studio项目结构显示CMakeLists.txt未包含的文件如何解决?
配置Android Studio仅展示CMake引用的C++文件方案
方法1:切换项目视图+手动排除目录
- 首先将Android Studio顶部的项目视图从默认的
Project切换到Android视图,该视图默认优先展示Android平台相关的代码资源,会自动过滤大部分非Android端的配置文件 - 如果切换后仍有Apple相关文件/Xcode项目文件展示,可以右键点击要隐藏的文件/目录,选择
Mark Directory as > Excluded,被标记为排除的目录不会出现在项目视图中,也不会参与IDE索引
方法2:在build.gradle中配置目录包含/排除规则
你可以在模块级build.gradle的sourceSets配置块中,明确指定cpp目录的扫描范围,仅保留CMakeLists.txt引用的相关目录,修改后的配置参考如下:
android { // 保留你原有的其他配置 externalNativeBuild { cmake { path "src/main/cpp/CMakeLists.txt" version "3.19.1" } } // 新增sourceSets配置 sourceSets { main { // 先清空默认的cpp扫描路径 jni.srcDirs = [] // 仅添加你CMakeLists中实际引用的目录,多个目录用逗号分隔即可 jni.srcDirs += "src/main/cpp/android", "src/main/cpp/common" // 明确规则排除Apple相关的目录和Xcode项目文件 jni.excludes += "**/ios/**", "**/macos/**", "**/*.xcodeproj/**" } } }
配置完成后同步Gradle即可生效,所有未被包含、以及匹配排除规则的文件都不会出现在项目的cpp展示列表中。
方法3:使用CMake专属视图
如果你不想修改Gradle配置,也可以直接切换到CMake专属的源文件视图:
- 打开Android Studio右侧边栏的
Gradle面板 - 找到对应模块 >
Tasks > build > externalNativeBuildDebug执行一次构建 - 构建完成后打开
Project视图顶部的下拉菜单,选择CMake视图,该视图会完全按照你CMakeLists.txt中引用的源文件结构展示,不会包含任何未被引用的无关文件。
内容的提问来源于stack exchange,提问作者Semyon Tikhonenko
相关产品推荐
相关产品推荐

