Android Studio Gradle 构建错误 - 指定给 属性 'manifest' 不存在
Android Studio Gradle Build error - specified for property 'manifest' does not exist
我想我在 Android Studio 中的 Gradle 构建文件有一个小问题。由于我对他们没有经验,而且少数研究结果也没有解决我的问题,我想你们中的一些人可能知道如何解决这个问题。
首先,我想解释一下我如何 "constructed" 我的项目,以防您需要此信息。起初我创建了一个新的 Android Studio 项目来获得 project/directory 结构。创建完成后,我关闭了 Android Studio 并从我们的 SVN 中手动检查它们。原因对我的问题来说并不重要,但我这样做是为了让我公司的项目结构保持原样(Android 部分只是其中的一小部分)。相反,我检查了我的 Android Studio 项目并将所有必要的文件与 SVN 外部链接。因此它能够在不更改项目结构中的任何内容的情况下检出和提交。无论如何,通过创建一个新项目,我的 Gradle 文件在创建新项目后已成为默认文件。由于所有必要的文件都已在正确的 Android Studio 项目目录中检出,我再次启动 Android Studio,从列表中删除之前创建的项目,然后再次导入。之后,我的所有新文件都已显示。正如您将看到的,甚至新库都包含在我的 Gradle 构建文件的依赖项下。
但是当我尝试构建我的项目时(我尝试了 "Rebuild" 和 "Make project"),我收到以下 Gradle 错误消息:
FAILURE: Build failed with an exception.
What went wrong: A problem was found with the configuration of task ':app:checkDebugManifest'. File
'D:\Workspace\MyProject\app\src\main\AndroidManifest.xml'
specified for property 'manifest' does not exist.
这是我的 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()
}
}
这是我的 "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'
}
如果你们需要更多信息(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
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']
}
}
我想我在 Android Studio 中的 Gradle 构建文件有一个小问题。由于我对他们没有经验,而且少数研究结果也没有解决我的问题,我想你们中的一些人可能知道如何解决这个问题。
首先,我想解释一下我如何 "constructed" 我的项目,以防您需要此信息。起初我创建了一个新的 Android Studio 项目来获得 project/directory 结构。创建完成后,我关闭了 Android Studio 并从我们的 SVN 中手动检查它们。原因对我的问题来说并不重要,但我这样做是为了让我公司的项目结构保持原样(Android 部分只是其中的一小部分)。相反,我检查了我的 Android Studio 项目并将所有必要的文件与 SVN 外部链接。因此它能够在不更改项目结构中的任何内容的情况下检出和提交。无论如何,通过创建一个新项目,我的 Gradle 文件在创建新项目后已成为默认文件。由于所有必要的文件都已在正确的 Android Studio 项目目录中检出,我再次启动 Android Studio,从列表中删除之前创建的项目,然后再次导入。之后,我的所有新文件都已显示。正如您将看到的,甚至新库都包含在我的 Gradle 构建文件的依赖项下。
但是当我尝试构建我的项目时(我尝试了 "Rebuild" 和 "Make project"),我收到以下 Gradle 错误消息:
FAILURE: Build failed with an exception.
What went wrong: A problem was found with the configuration of task ':app:checkDebugManifest'. File 'D:\Workspace\MyProject\app\src\main\AndroidManifest.xml' specified for property 'manifest' does not exist.
这是我的 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()
}
}
这是我的 "app"-目录
中的 build.gradleapply 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'
}
如果你们需要更多信息(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
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']
}
}