2014-12-10 3 views
6

this guide 사용 Gradle을 사용하여 Eclipse에서 기존 프로젝트를 빌드하고 싶습니다.: checkDebugManifest FAILED => 'manifest'속성에 지정된 파일이 없습니다.

build.grale에는 다음이 포함

buildscript { 
repositories { 
    mavenCentral() 
} 

dependencies { 
    classpath 'com.android.tools.build:gradle:0.14.0' 
    } 
} 
apply plugin: 'android' 

android { 
    buildToolsVersion "19.1.0" 
    compileSdkVersion 16 
} 

repositories { 
    mavenCentral() 
} 

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

하지만 얻을 : enter image description here

어떻게이 문제를 해결하려면? 나는 몇 시간 동안 다른 접근법을 시도했지만 아무것도 작동하지 않는 것처럼 보였다.

+1

'\ src \ main \ AndroidManifest.xml'의 기본 위치에서 Manifest를 찾는 것처럼 보입니다. 그게 실제로 정확한 경로입니까? –

답변

8

는 기본 프로젝트 구조가 변경, 당신도 매니페스트 (그리고 코드의 나머지 부분을 찾기 위해 어디 Gradle을 플러그인을 알려하지 않는, 그래서) 또는 새 구조로 전환하면 Gradle 플러그인이 잘못된 위치에서 보입니다.

귀하의 경우 새 플러 그 프로젝트의 기본값 인 \src\main\AndroidManifest.xml에있는 매니 페스트를 찾고 있습니다. 이전 프로젝트 구조 (Eclipse + ADT에서 사용)는 프로젝트의 루트에있는 매니페스트를 \AndroidManifest.xml에 넣습니다.

당신은 너무 같은 sourceSets 폐쇄를 사용하여 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'] 
     } 

     debug.setRoot('build-types/debug') 
     release.setRoot('build-types/release') 
} 

이, 매니페스트, 자바 소스의 이전 프로젝트 구조를 사용하는 안드로이드 Gradle을 플러그인을 구성하고 자원.

Android Studio의 가져 오기 도구를 사용하는 경우이 모든 것을 처리해야합니다.

+0

manifest.srcFile 'AndroidManifest.xml'<- 문제를 해결합니다. 나는 모든 것을 시도하지 않은 것 같습니다. 좋은 설명! – burseaner

1

이 가이드는 Gradle을 사용하여 기존 Eclipse 프로젝트를 빌드하는 것과 관련이 없습니다. "Eclipse"라는 단어가 가이드에 표시되지 않습니다.

Android Studio로 이동하려는 경우 Android Studio 프로젝트 가져 오기 마법사를 사용하세요. 그것은 몇 가지 추가 조정이 필요하지만 그 마법사가 나이에 업데이트되지 않은으로

당신이 Eclipse를 사용하려는 경우

하지만 또한 Gradle을 빌드 제안은, 당신이하는 build.gradle 파일을 생성 이클립스 수출 마법사를 실행할 수 있습니다 .

또는이 build.gradle 파일로 시작에 맞게 조정 :

buildscript { 
    repositories { 
     mavenCentral() 
    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle:1.0.0' 
    } 
} 
apply plugin: 'com.android.application' 

dependencies { 
    compile 'com.android.support:support-v4:21.0.0' 
} 

android { 
    compileSdkVersion 19 
    buildToolsVersion "20.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') 
    } 
} 
관련 문제