You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android Studio误寻AndroidManifest.xml路径致编译失败求助

解决Android项目中Gradle无法识别正确AndroidManifest.xml路径的问题

你遇到的核心麻烦是IDE错误地在根目录的src/main/AndroidManifest.xml路径寻找清单文件,而实际文件明明在app/src/main/AndroidManifest.xml。结合你提供的配置文件,我来一步步帮你排查和解决:

一、先修正全局build.gradle的致命错误

你的根目录build.gradle存在两个严重的配置错误,这是导致路径识别混乱的根源:

  1. 根项目错误地应用了com.android.library插件——这个插件只应该在Library模块中使用,根项目的build.gradle绝对不能加它,否则Gradle会把整个根目录当成Library模块,自动去根目录找manifest。
  2. 全局配置里不该出现android块和sourceSets配置,这些都是模块专属的配置项,放在全局会干扰Gradle的模块识别逻辑。

修复后的全局build.gradle示例:

// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
    repositories {
        google()
        jcenter()
        maven { url 'https://maven.fabric.io/public' }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.1'
        classpath 'io.fabric.tools:gradle:1.+' // Fabric的classpath统一放在这里
    }
}

allprojects {
    repositories {
        jcenter()
        google()
        maven { url 'https://maven.fabric.io/public' }
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

二、调整app模块build.gradle的sourceSets路径

你的app模块build.gradle里的sourceSets路径写错了——app模块的根目录就是D:\Source Code\The Project - Android\app,所以写app/src/main/AndroidManifest.xml会让IDE去寻找app/app/src/main/AndroidManifest.xml,这显然是不存在的。

修复步骤:

在app模块的build.gradle中修改sourceSets:

android {
  // ...其他原有配置
  sourceSets {
    main {
      // 直接写模块内的相对路径即可,或者如果你的目录结构是标准的,这个配置其实可以直接删掉
      manifest.srcFile 'src/main/AndroidManifest.xml'
    }
  }
  // ...其他原有配置
}

另外你之前把compileSdkVersion改成26的操作是对的,保持这个配置避免API版本匹配问题。

三、重置IDE的模块配置文件

你的.iml文件把Gradle项目路径指向了根项目(:),但实际应用模块是:app,需要重置:

  1. 完全关闭Android Studio
  2. 删除根目录下的.idea文件夹,以及所有模块的.iml文件(包括app模块的)
  3. 重新打开Android Studio,它会自动重新生成正确的模块配置文件

四、最后验证操作

  1. 点击工具栏Build → Clean Project清理项目
  2. 点击Sync Project with Gradle Files同步Gradle配置
  3. 尝试编译项目,检查是否还存在manifest路径错误

另外,关于之前的GradleException问题,你替换成FileNotFoundException只是临时方案,等Gradle配置修复后,改回原来的GradleException即可,此时Gradle应该能正常识别这个异常类了。

内容的提问来源于stack exchange,提问作者GokuMizuno

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 08:16:13