2015-11-03 22 views
6

Khi tôi đang cố gắng để xây dựng một dự án Thư viện Android trong Android Studio, tôi nhận được lỗi Gradle sau:Gradle Lỗi trong Android Studio: Plugin với id 'com.android.library' không tìm thấy

Gradle sync failed: Plugin with id 'com.android.library' not found. 

Tôi khá mới với Gradle và điều này rất khó hiểu đối với tôi. Tại sao chuyện này đang xảy ra?

File build.gradle là như sau:

apply plugin: 'com.android.library' 

android { 
    compileSdkVersion 23 
    buildToolsVersion "23.0.2" 

    defaultConfig { 
     minSdkVersion 8 
     targetSdkVersion 23 
     versionCode 1 
     versionName "1.0" 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
} 

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    testCompile 'junit:junit:4.12' 
    compile 'com.android.support:appcompat-v7:23.1.0' 
} 
+0

đăng tệp build.gradle trong thư mục gốc –

+0

Tệp tôi đã dán ở trên là tệp trên thư mục gốc. – jackofblades

+2

Đây là vấn đề. Bạn đang sử dụng build.gradle sai.Kiểm tra câu trả lời của tôi dưới đây. –

Trả lời

12

Vấn đề của bạn là bạn đang sử dụng tệp cấp cao nhất nơi bạn không thể sử dụng loại plugin này.

Trong AS bạn có một cấu trúc như thế này:

Root/ 
+ lib 
    | build.gradle 
| build.gradle 
| settings.gradle 

Trong bạn top-level tập tin mà bạn có thể sử dụng:

// 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.3.1' 
    } 
} 

allprojects { 
    repositories { 
     jcenter() 
    } 
} 

Trong bạn lib/build.gradle bạn có thể sử dụng mã đăng trong câu hỏi:

apply plugin: 'com.android.library' 

android { 
    compileSdkVersion 23 
    buildToolsVersion "23.0.2" 

    defaultConfig { 
     minSdkVersion 8 
     targetSdkVersion 23 
     versionCode 1 
     versionName "1.0" 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
} 

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    testCompile 'junit:junit:4.12' 
    compile 'com.android.support:appcompat-v7:23.1.0' 
} 

Cuối cùng trong settings.gradle

include ':lib' 

Bạn cũng có thể tham khảo this question.

+0

Cảm ơn sự giúp đỡ của bạn! – jackofblades

+0

Cảm ơn @gabriele. Theo tôi hiểu điều đó, các phụ kiện của 'phụ thuộc { classpath 'com.android.tools.build:gradle:1.3.1' }' yêu cầu Gradle kéo thư viện công cụ Android - bao gồm gói com.android.library - từ kho lưu trữ được chi tiết bởi 'kho lưu trữ { jcenter() }' – WillC

2

Giả sử bạn có một cấu trúc dự án tiêu chuẩn như sau:

yourProject/ 
+ .idea/ 
+ gradle/wrapper/ 
+ lib-module/ 
    | build.gradle 
| build.gradle 
| gradlew 
| gradlew.bat 
| settings.gradle 

thất bại của bạn để đồng bộ hóa dường như chỉ ra một vấn đề với SDK của bạn/Cấu hình IDE.

Bắt đầu bằng cách mở hộp thoại "Cấu trúc dự án" và đảm bảo rằng giá trị "Vị trí SDK Android:" được đặt thành đường dẫn chính xác.

Thứ hai, mở trình quản lý SDK và một lần nữa đảm bảo rằng bạn đã đặt đúng đường dẫn vị trí SDK.

Thứ ba, xác minh rằng bạn đã cài đặt phiên bản chính xác của gói "Công cụ xây dựng SDK Android". (23.0.2 trong trường hợp này)

Cuối cùng chỉ để xác minh rằng chúng tôi không có bất kỳ trạng thái xấu tôi khuyên bạn nên làm một "Vô hiệu hóa và Restart" từ File -> "làm mất hiệu lực Caches/Khởi động lại ..."

Sau khi tất cả điều này tôi mong rằng nó sẽ đồng bộ lên. Nếu không cố gắng chạy ./gradlew từ gốc của dự án của bạn và cập nhật chúng tôi với bất kỳ thông tin mới nào.

+0

Tôi đã làm theo tất cả các bước ở trên. Đường dẫn cho SDK của tôi là chính xác và Android SDK Build-Tools với phiên bản 23.0.2 được cài đặt. Tôi cũng chạy './Gradlew'. Nó không giải quyết được vấn đề. Tôi vẫn gặp lỗi đồng bộ hóa tương tự. – jackofblades

0
buildscript { 
repositories { 
    mavenCentral() 
} 
dependencies { 
    classpath 'com.android.tools.build:gradle:1.3.0' } 
} 

apply plugin: 'com.android.library' 

Thêm những dòng này vào tệp thư viện gradle.

0

Trong trường hợp của tôi là do sai đường dẫn sdk/ndk bên trong tệp local.properties, tôi đã di chuyển dự án từ hd này sang hd khác và các cài đặt này sai, sửa các đường dẫn đã khắc phục sự cố.

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