Desteklenmeyen yöntem: AndroidProject.getPluginGeneration () proje çalıştırılırken


105

Projemi Android Studio 2.2 ile çalıştırmaya çalışıyorum ama bu hatayı alıyorum

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

ButterKnife 8.4.0 kullanıyorum

Uygulamam gradle.file:

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

Modül gradle dosyam:

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'
}

Neden çalışmıyor ve nasıl çözerim?


@Tim Castelijns, mevcut cevaplardan çözümler uygularsanız ne olur?
azizbekian

@azizbekian bu nasıl alakalı
Tim

Yanıtlar:


281

Genel Sorun: -

AS'nin Anında Çalıştırma özelliğinin kullanılabilirliğini kontrol etmesi nedeniyle ortaya çıkabilir. Düzeltilen, Anında Çalıştırmayı devre dışı bırakmaktır:

Windows ve Linux:

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

Mac:

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

görüntü açıklamasını buraya girin

@ Pophus'a bundan bahsettiği için teşekkürler.

Tereyağlı bıçak kullanıyorsanız, bu Adımları kullanın: -

Yeni Jack derleyicisini 2.2.0 veya daha yeni bir sürümle kullanıyorsanız, 'android-apt' eklentisine ihtiyacınız yoktur ve bunun yerine derleyici bağımlılığını bildirirken apt'yi annotationProcessor ile değiştirebilirsiniz.

Yani kaldır

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

ana gradle dosyanızdan

Ve kaldır

apply plugin: 'android-apt'

ana modül dosyanızdan

ve değiştir

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

ile

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

Anında koşmayı sevmek istiyorum ama işleri o kadar tuhaf şekillerde bozuyor ki, oldukça fazla zaman yatırımı olmadan düzenli kullanımı imkansız hale getiriyor
Sirens

24

Bu hatayla Android Studio 2.2'de karşılaştım, benim durumumda Anında Çalıştır özelliğinin kullanılabilirliğini kontrol eden AS'den kaynaklanıyordu. Anında Çalıştırmayı devre dışı bırakarak düzelttim:

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


Meslektaşım için çalıştı. O gradle
1.2.3'teydi

1
Hayatımı kurtardın. Yayınlanmaya yakın bir proje üzerinde çalışıyorum ve bunun için gradle'ı yükseltmek istemiyorum. Bu düzeltme / geçici çözüm kesinlikle yardımcı oldu.
Daha iyi Shao

@pophus farklı sebeplerden dolayı ortaya çıkabilir belki anlık koşmak biridir, bu sorunla butterknife ile karşılaştım
ColdFusion

7

Gradle sürümünü 2.2 olarak değiştirin

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

üzgünüm bu bir yazım hatasıydı 2.2.0 kullanıyorum
ColdFusion

sonra .idea klasörünüzü silerek deneyin ve fikrinizi yeniden başlatın. 2.2'ye proje güncellemesinden sonra farklı sorunlarla da karşılaştım. Bulduğum bir çözüm, .idea klasörünü silmek. Şimdi hepsi iyi çalışıyor.
Sayem

6

Windows'ta

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

İşareti kaldır Enable Instant Run to hot swap code...


1
Cevabınız yeni bir şey eklemiyor, diğer cevaplarda zaten belirtilmiş, açıklar mısınız?
ColdFusion

1
Windows'ta bu seçeneği bulmam biraz zaman aldı, bu yüzden bu sefer başkaları için tasarruf etmek istedim. Bu kadar basit
Flot2011

2

sadece anlık koşuyu kapat

Windows Dosya -Ayarlar- Oluşturma, Yürütme, Dağıtım - Anında Çalıştırma.

MAC Android Studio -> Tercihler -> Oluşturma, Yürütme, Dağıtım -> Anında Çalıştırma.


3
Cevabınız yeni bir şey eklemiyor, diğer cevaplarda zaten belirtilmiş, açıklar mısınız?
ColdFusion

2

Çok eski bir projede aynı hatayı yaptım. Android Studio 3.5 artık Anında Çalıştırma Seçeneğine sahip olmadığı için farklı bir çözüme ihtiyaç duydum.

Proje Ayarlarında gradle sürümünü manuel olarak değiştirmek zorunda olduğum ortaya çıktı. Açılır menüler boş olduğundan Yeni Projenin otomatik olarak kullanacağı sürümü kullandım.

Benim durumumda, Eklenti Sürüm 3.5.1 ve Gradle Sürüm 5.4.1 idi.

Bundan sonra bir Build - Clean Projesi başlattım ve her şey yolunda gitti.


1

Gradle eklenti sürümünü son sürüme yükseltmeniz yeterlidir:

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
    }

ve Gradle'ınızın da son v olduğundan emin olun:

#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

NOT: googleDepoda da kullanın

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.