如何在无法找到项目的Manifest文件的情况下解决Android Studio错误?

时间:2014-03-12 15:26:36

标签: android android-studio android-gradle build.gradle

我正在将我的遗留项目从Eclipse迁移到Android工作室。我做了以下事情:

  • 在eclipse中导出并生成gradle构建文件
  • 在Android Studio中导入Gradle.build文件
  • 将我的gradle版本依赖项更改为:classpath' com.android.tools.build:gradle:0.9。+'

项目的根文件夹包含3个库项目: Actionbarsherlock Authbahn 。我的根文件夹还包含名为 JohelpenHulpverlener 的主项目。

enter image description here

解决了很多错误后,我收到以下错误:

Error:A problem was found with the configuration of task ':checkDebugManifest'.
> File 'C:\android\jeugdformaat\JohelpenHulpverlener\AndroidManifest.xml' specified for property 'manifest' does not exist.

我的root build.gradle看起来像这样:

// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.9.+'
    }
}

apply plugin: 'android'

dependencies {
    compile files('libs/android-support-v4.jar')
    compile project(":actionbarsherlock")
}

android {
    compileSdkVersion 17
    buildToolsVersion "19.0.3"

    defaultConfig {
        minSdkVersion 10
        targetSdkVersion 19
    }

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

主项目中的build.gradle如下所示:

apply plugin: 'android'

dependencies {
    compile fileTree(dir: 'libs', include: '*.jar')
    compile project(':library')
    compile project(':actionbarsherlock')
    compile project(':autobahn')
}

android {
    compileSdkVersion 19
    buildToolsVersion "19.0.0"

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

        // Move the tests to tests/java, tests/res, etc...
        instrumentTest.setRoot('tests')

        // Move the build types to build-types/<type>
        // For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ...
        // This moves them out of them default location under src/<type>/... which would
        // conflict with src/ being used by the main source set.
        // Adding new build types or product flavors should be accompanied
        // by a similar customization.
        debug.setRoot('build-types/debug')
        release.setRoot('build-types/release')
    }
}

我想了解这一点,希望有人可以帮助我在这里!

6 个答案:

答案 0 :(得分:5)

你的根级Gradle构建文件中有很多东西让构建系统认为那里有一个Android模块(它不是;它是 JohelpenHulpverlener 中的子目录),以及它失败了,因为它没有找到清单。

我认为如果您从根级 build.gradle 文件中取出很多东西,并将其替换为新项目的默认版本,即:

// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.9.+'
    }
}

allprojects {
    repositories {
        mavenCentral()
    }
}

它会起作用。

答案 1 :(得分:1)

确保外面有这样的标签:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example"
    android:versionCode="1"
    android:versionName="1.0" >

    ...

</manifest>

答案 2 :(得分:1)

build.gradle 文件中指定包名称,如

android {
compileSdkVersion 19
buildToolsVersion "20.0.0"


defaultConfig {
    applicationId "com.myapp"
    minSdkVersion 11
    targetSdkVersion 19
    versionCode 27
    versionName "1.5.6"
}
}

applicationId "com.myapp"这里“com.myapp”是我的应用的包名。 我希望这会对你有所帮助。

答案 3 :(得分:1)

将eclipse项目迁移到android studio时遇到了同样的问题。 问题是android studio创建的根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.2.3'
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

更新:似乎Android Studio的最新版本1.4修复了问题,现在我们可以轻松地将eclipse项目导入工作室

答案 4 :(得分:0)

Build-&gt; Rebuild为我解决了它。

答案 5 :(得分:-2)

我知道这是一篇很老的帖子,但昨晚我帮助了一位刚接触编程问题的朋友。您的建议已经过审核但不适用。错误之前的最后一个操作是向项目添加列表视图布局。我让他们删除它,片刻之后错误就消失了。

我没有在这个场景中发现任何其他帖子和这个结论,所以我认为在这里分享它可能会帮助其他人。

结论:将新组件添加到错误的位置可能是导致此类错误的另一个原因。