Android Studio Gradle 构建错误 - 为属性“清单”指定的不存在

KJa*_*aeg 3 exception build gradle android-manifest android-studio

我想我在 Android Studio 中的 Gradle 构建文件有一个小问题。由于我对他们没有经验,而且很少的研究结果并没有解决我的问题,我想,你们中的一些人可能知道如何解决这个问题。

首先,我想解释一下我是如何“构建”我的项目的,以防您需要这些信息。起初我创建了一个新的 Android Studio 项目来获取项目/目录结构。创建完成后,我关闭了 Android Studio 并手动将它们从我们的 SVN 中检出。原因对我的问题并不重要,但我这样做是为了让我公司的项目结构保持原样(Android 部分只是其中的一小部分)。相反,我检查了我的 Android Studio 项目并将所有必要的文件与 SVN 外部链接。因此,它可以在不更改项目结构中的任何内容的情况下签出和提交。无论如何,在创建新项目后,通过创建新项目,我的 Gradle 文件已成为默认文件。由于所有必需的文件都已在正确的 Android Studio 项目目录中检出,我再次启动Android Studio,从列表中删除了之前创建的项目,然后再次导入。之后我所有的新文件都显示出来了。正如您将看到的,即使是新的库也包含在我的 Gradle 构建文件中的依赖项下。

但是当我尝试构建我的项目时(我尝试了“重建”和“制作项目”),我收到以下 Gradle 错误消息:

FAILURE:构建失败,出现异常。

出了什么问题:发现任务“:app:checkDebugManifest”的配置有问题。为属性“manifest”指定的文件“D:\Workspace\MyProject\app\src\main\AndroidManifest.xml”不存在。

这是我的项目根目录中的 build.gradle:

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.1.0'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我的“app”目录中的 build.gradle

apply plugin: 'com.android.application'

android {
    compileSdkVersion 21
    buildToolsVersion "22.0.0"

    defaultConfig {
        applicationId "de.giessen.advenco.key2operate"
        minSdkVersion 15
        targetSdkVersion 21
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:22.0.0'
}
Run Code Online (Sandbox Code Playgroud)

如果你们需要更多信息(settings.gradle、.properties-files、AndroidManifest.xml),请告诉我。

我不知道这是否重要,但这是 Gradle 控制台在错误发生之前显示的内容:

Configuration on demand is an incubating feature. 
:app:preBuild UP-TO-DATE 
:app:preDebugBuild UP-TO-DATE 
:app:checkDebugManifest FAILED
Run Code Online (Sandbox Code Playgroud)

Gab*_*tti 5

Gradle 正在寻找位于 的清单\src\main\AndroidManifest.xml,这是新 Gradle 项目的默认设置。

如果您使用的是不同的文件夹,则可以使用以下内容指定不同的位置build.gradle

android {
    // ...

    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            resources.srcDirs = ['src']
            aidl.srcDirs = ['src']
            renderscript.srcDirs = ['src']
            res.srcDirs = ['res']
            assets.srcDirs = ['assets']
        }

}
Run Code Online (Sandbox Code Playgroud)