2014-04-10 3 views
7

Android Studio에 두 개의 모듈이 있습니다.Android Studio/gradle : " 'LibraryPlugin'유형의 플러그인을 만들 수 없습니다."

Main은 응용 프로그램이고 Sub는 라이브러리 모듈입니다. Sub는 gradle 스크립트에서 compile project(':Sub')으로 Main에서 참조됩니다. Android Studio에서 실행할 때 작동합니다. 명령 줄에서 실행할 때, gradlew는 말한다 :

Could not create plugin of type 'LibraryPlugin'. 
Caused by: java.lang.NoClassDefFoundError: org/gradle/api/artifacts/result/ResolvedComponentResult 

이 홈페이지의 build.gradle 파일의 중요한 부분입니다 :

apply plugin: 'android' 

buildscript { 
    repositories { 
     mavenCentral() 
     maven { 
      url 'https://oss.sonatype.org/content/repositories/snapshots/' 
     } 
    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle:0.9.+' 
    } 
} 

repositories { 
    mavenCentral() 
    maven { 
     url 'https://oss.sonatype.org/content/repositories/snapshots/' 
    } 
} 

task wrapper(type: org.gradle.api.tasks.wrapper.Wrapper) { 
    gradleVersion = '1.11' 
} 

android { 
    buildToolsVersion '19.0.3' 
} 


dependencies { 
    compile 'com.android.support:support-v4:13.0.+' 
    compile project (':Sub') 
} 

소위원회 Gradle을 파일이 더 많거나 적은 동일하지만

있다 대신 '안드로이드'의
apply plugin: 'android-library' 

나는 Gradle을 1.9 및 1.10,하지만 같은 결과를 시도했다.

누구든지이 문제를 어떻게 해결할 수 있는지 알고 있습니까?

+0

이것은 Gradle 버전과 Android Gradle 플러그인 버전이 일치하지 않기 때문에 발생합니다. 플러그인 0.9 개를 사용하는 경우 1.10 또는 1.11의 Gradle을 사용해야합니다. 명령 줄에서 빌드 할 때 래퍼를 사용하고 있습니까? 여러 개의 모듈이 있습니다. 모듈 중 하나가 아마도 다른 버전의 플러그인을 지정합니까? –

답변

4

gradle.build 파일에 종속성이 classpath 'com.android.tools.build:gradle:0.9.+'인지 (또는 기본 파일에 넣고 다른 파일에 선언하지 말 것) 확인하십시오. 1.11 Gradle을 가리 키도록 gradle/wrapper/gradle-wrapper.properties 업데이트 : 당신이 (당신이 원래 자신의 라이브러리 프로젝트를 만들어 나중에 예제 응용 프로그램을 추가 그러한 것처럼)가 Gradle을-래퍼의 다른 인스턴스가있는 경우

distributionUrl=http\://services.gradle.org/distributions/gradle-1.11-all.zip 

, 모든 확인 인스턴스가 동일한 버전 (각각 gradle-wrapper.properties 파일)을 가리 키도록 업데이트됩니다.

+0

매우 노이스 선생님. –

관련 문제