2014-04-10 35 views
7

Tôi có hai mô-đun trong Android Studio.Android Studio/gradle: "Không thể tạo plugin loại 'LibraryPlugin'"

Chính là ứng dụng và Sub là mô-đun thư viện. Sub được giới thiệu từ Main với compile project(':Sub') trong tập lệnh gradle. Điều đó hoạt động khi chạy từ Android Studio. Nhưng khi chạy từ dòng lệnh, gradlew nói:

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

Đây là bộ phận quan trọng trong chính của tập tin 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') 
} 

File gradle Sub là nhiều hay ít giống nhau, nhưng có

apply plugin: 'android-library' 

thay vì 'android'

tôi đã thử với gradle 1.9 và 1.10, nhưng kết quả tương tự.

Bất kỳ ai biết cách giải quyết vấn đề này?

+0

Điều này có xu hướng xảy ra do sự không khớp giữa phiên bản Gradle và phiên bản của plugin Android Gradle. Nếu bạn đang sử dụng 0.9 của plugin, bạn nên sử dụng 1.10 hoặc 1.11 của Gradle. Bạn đang sử dụng trình bao bọc khi bạn xây dựng từ dòng lệnh? Bạn có nhiều mô-đun; một trong các mô-đun có thể chỉ định một phiên bản khác của plugin? –

Trả lời

4

Xác minh rằng các phụ thuộc của bạn có chứa classpath 'com.android.tools.build:gradle:0.9.+' trong mỗi tệp gradle.build (hoặc chỉ đặt nó vào cơ sở một và không khai báo nó ở những người khác). Cập nhật gradle/wrapper/gradle-wrapper.properties để trỏ đến gradle 1.11:

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

Nếu bạn có bất kỳ trường hợp khác của gradle-wrapper (ví dụ như nếu bạn ban đầu được đưa ra dự án thư viện ngày của riêng mình và sau đó thêm vào một ứng dụng chẳng hạn), xác minh rằng tất cả các phiên bản được cập nhật để trỏ đến cùng một phiên bản (mỗi tệp gradle-wrapper.properties).

+0

rất no no sir. –

Các vấn đề liên quan