web-dev-qa-db-ja.com

Android Studioエラーがプロジェクトのマニフェストファイルを見つけられない場合の解決方法は?

レガシープロジェクトをEclipseからAndroid studioに移行しています。次のことを行いました。

  • EclipseでGradleビルドファイルをエクスポートして生成する
  • Android StudioにGradle.buildファイルをインポートしました
  • Gradleバージョンの依存関係を次のように変更しました:classpath 'com.Android.tools.build:gradle:0.9.+'

プロジェクトのルートフォルダーに3つのライブラリプロジェクトが含まれています:ActionbarsherlockAuthbahnおよびlibrary。ルートフォルダーには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.

ルート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')
    }
}

私はこれを理解しようとしています、うまくいけば誰かがここで私を助けることができます!

8
Fergers

ルートレベルの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()
    }
}

それが動作します。

5
Scott Barta

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プロジェクトをStudioに簡単にインポートできるようになりましたで修正されたようです==

1
Amar

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」はアプリのパッケージ名です。これがお役に立てば幸いです。

1
Umesh

このように外側にタグがあることを確認してください:

<?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>
1
ElectronicGeek

Build-> Rebuildで解決しました。

0
raghu.tjm