Phương thức không được hỗ trợ: AndroidProject.getPluginGeneration () trong khi chạy dự án


105

Tôi đang cố gắng chạy Dự án của mình với Android Studio 2.2 nhưng tôi gặp lỗi này

Unsupported method: AndroidProject.getPluginGeneration().
The version of Gradle you connect to does not support that method.

Tôi đang sử dụng ButterKnife 8.4.0

Gradle.file ứng dụng của tôi:

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.2.0'
        classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
    }
}

Tệp gradle mô-đun của tôi:

apply plugin: 'com.android.application'
apply plugin: 'android-apt'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.3"

    defaultConfig {
        applicationId "xxx.xx"
        minSdkVersion 10
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
}

dependencies {
    compile 'com.jakewharton:butterknife:8.4.0'
    apt 'com.jakewharton:butterknife-compiler:8.4.0'
}

Tại sao nó không hoạt động và làm thế nào để giải quyết nó?


@Tim Castelijns, điều gì sẽ xảy ra nếu bạn áp dụng các giải pháp từ các câu trả lời hiện tại?
azizbekian

@azizbekian điều đó có liên quan như thế nào
Tim

Câu trả lời:


281

Vấn đề chung:-

Nó có thể xảy ra vì AS đang kiểm tra tính khả dụng của tính năng Chạy tức thì. Cách khắc phục là vô hiệu hóa Instant Run:

Windows và Linux:

File -> Settings -> Build, Execution, Deployment -> Instant Run.

Mac:

Android Studio -> Preferences -> Build, Execution, Deployment -> Instant Run.

nhập mô tả hình ảnh ở đây

Cảm ơn @pophus đã đề cập đến điều này.

Sử dụng các bước này Nếu bạn đang sử dụng dao cắt bơ: -

Nếu bạn đang sử dụng trình biên dịch Jack mới với phiên bản 2.2.0 hoặc mới hơn, bạn không cần plugin 'android-apt' và có thể thay thế apt bằng annotationProcessor khi khai báo phần phụ thuộc của trình biên dịch.

Đó là, loại bỏ

classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'

từ tệp gradle chính của bạn

Và loại bỏ

apply plugin: 'android-apt'

từ tệp mô-đun chính của bạn

và thay thế

apt 'com.jakewharton:butterknife-compiler:8.4.0'

với

annotationProcessor 'com.jakewharton:butterknife-compiler:8.4.0'

Tôi muốn chạy tình yêu ngay lập tức nhưng nó phá vỡ mọi thứ theo những cách kỳ quặc như vậy mà nó làm cho nó không thể sử dụng thường xuyên mà không có sự đầu tư khá thời gian
Sirens

24

Tôi gặp phải lỗi này trong Android Studio 2.2, trong trường hợp của tôi, nguyên nhân là do AS kiểm tra tính khả dụng của tính năng Chạy tức thì. Tôi đã sửa nó bằng cách tắt Instant Run:

Android Studio -> Preferences -> Build, Execution, Deployment -> Instant Run


Làm việc cho đồng nghiệp của tôi. Anh ấy đang học gradle 1.2.3
gitter

1
Bạn đã cứu cuộc đời tôi. Tôi đang làm việc trong một dự án sắp phát hành và tôi không muốn nâng cấp gradle cho nó. Bản sửa lỗi / cách giải quyết này chắc chắn đã hữu ích.
Better Shao

@pophus nó có thể xảy ra do nguyên nhân khác nhau có thể chạy ngay lập tức là một, tôi gặp phải vấn đề này với butterknife
ColdFusion

7

Thay đổi phiên bản gradle thành 2.2

dependencies {
    classpath 'com.android.tools.build:gradle:2.2.0'
}

xin lỗi đó là một typo tôi Infact sử dụng 2.2.0
ColdFusion

sau đó thử bằng cách xóa thư mục .idea của bạn và khởi động lại lý tưởng của bạn. Sau khi cập nhật dự án lên 2.2, tôi cũng gặp phải các vấn đề khác nhau. Một giải pháp tôi tìm thấy là xóa thư mục .idea. Bây giờ tất cả đều hoạt động tốt.
Sayem

6

Trên Windows, nó là

File / Settings/ Build, Execution, Deployment / Instant Run.

Bỏ chọn Enable Instant Run to hot swap code...


1
câu trả lời của bạn không thêm bất cứ điều gì mới, nó đã được nêu trong các câu trả lời khác, bạn có thể làm rõ?
ColdFusion

1
Tôi đã mất một khoảng thời gian để tìm tùy chọn này trên Windows, vì vậy tôi muốn tiết kiệm cho người khác lần này.
Đơn

2

chỉ cần đóng ngay lập tức

Windows File -Settings- Build, Execution, Deployment - Instant Run.

MAC Android Studio -> Preferences -> Build, Execution, Deployment -> Instant Run.


3
câu trả lời của bạn không thêm bất cứ điều gì mới, nó đã được nêu trong các câu trả lời khác, bạn có thể làm rõ?
ColdFusion

2

Tôi đã chạy trong cùng một lỗi trên một dự án rất cũ. Vì Android Studio 3.5 không có Tùy chọn chạy tức thì nữa nên tôi yêu cầu một giải pháp khác.

Hóa ra, tôi phải thay đổi phiên bản gradle theo cách thủ công trong Cài đặt dự án. Tôi đã sử dụng phiên bản mà Dự án mới sẽ tự động sử dụng, vì danh sách thả xuống trống.

Trong trường hợp của tôi, đó là Phiên bản Plugin 3.5.1 và Phiên bản Gradle 5.4.1.

Sau đó, tôi bắt đầu Dự án Xây dựng - Sạch sẽ và mọi thứ trở nên tốt đẹp.


1

Chỉ cần nâng cấp phiên bản plugin Gradle lên phiên bản cuối cùng:

dependencies {
        classpath 'com.android.tools.build:gradle:3.5.1'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }

và hãy chắc chắn rằng Gradle của bạn cũng là v cuối cùng:

#Sun Nov 03 16:47:32 IRST 2019
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip

LƯU Ý: sử dụng googletrong kho lưu trữ quá

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.