サポートされていないメソッド:プロジェクトの実行中のAndroidProject.getPluginGeneration()


105

Android Studio 2.2でプロジェクトを実行しようとしていますが、このエラーが発生します

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

バターナイフ8.4.0を使用しています。

私のアプリgradle.file:

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

私のモジュールgradleファイル:

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

なぜ機能しないのですか、どうすれば解決できますか?


@Tim Castelijns、現在の回答からソリューションを適用するとどうなりますか?
アジズベキア共和国2017年

その関連でどのように@azizbekian
ティム

回答:


281

一般的な問題:-

ASがInstant Run機能の可用性をチェックしていたために発生する可能性があります。修正は、インスタントランを無効にすることです。

WindowsおよびLinux:

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

マック:

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

ここに画像の説明を入力してください

これについて言及してくれた@pophusに感謝します。

この手順を使用してくださいバターナイフを使用している場合:

バージョン2.2.0以降で新しいJackコンパイラーを使用している場合、「android-apt」プラグインは必要ありません。代わりに、コンパイラーの依存関係を宣言するときにaptをannotationProcessorで置き換えることができます。

つまり、削除

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

メインのgradleファイルから

そして削除

apply plugin: 'android-apt'

メインモジュールファイルから

そして交換する

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

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

インスタントランを愛したいのですが、かなりの時間を
費やさ

24

Android Studio 2.2でこのエラーが発生しました。私の場合は、インスタントラン機能の可用性をチェックしているASが原因でした。Instant Runを無効にして修正しました:

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


私の同僚のために働いた。彼は
gradle

1
あなたは私の命を救いました。私はリリースに近いプロジェクトに取り組んでおり、gradleをアップグレードしたくありません。この修正/回避策は間違いなく役立ちました。
より良いShao

@pophusインスタントランが別の理由で発生する可能性があります。バターナイフでこの問題が発生しました
ColdFusion

7

Gradleバージョンを2.2に変更する

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

申し訳ありませんが、タイプミスでした2.2.0を使用した結果
ColdFusion

次に、.ideaフォルダーを削除して、IDEを再起動します。プロジェクトを2.2に更新した後、別の問題にも直面しました。私が見つけた1つの解決策は、.ideaフォルダーを削除することです。これですべて正常に動作しています。
Sayem

6

Windowsでは

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

チェックを外す Enable Instant Run to hot swap code...


1
あなたの答えは何も新しいものを追加しません、それはすでに他の答えで述べられています、あなたは明確にすることができますか?
ColdFusion

1
Windowsでこのオプションを見つけるのに少し時間がかかったので、今回は他の人のために節約したいと思いました。
それと同じくらい

2

ちょうど 近くにインスタントラン

Windows ファイル-設定-ビルド、実行、配置-即時実行。

MAC Android Studio-> Preferences-> Build、Execution、Deployment-> Instant Run。


3
あなたの答えは何も新しいものを追加しません、それはすでに他の答えで述べられています、あなたは明確にすることができますか?
ColdFusionの

2

非常に古いプロジェクトで同じエラーが発生しました。Android Studio 3.5にはInstant Runオプションがないため、別のソリューションが必要でした。

結局のところ、プロジェクトの設定でGradleのバージョンを手動で変更する必要がありました。ドロップダウンが空だったので、新しいプロジェクトが自動的に使用するバージョンを使用しました。

私の場合、それはプラグインバージョン3.5.1とGradleバージョン5.4.1でした。

その後、Build-Cleanプロジェクトを開始したところ、すべてがうまくいきました。


1

Gradleプラグインのバージョンを最新バージョンにアップグレードするだけです。

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
    }

そしてあなたのGradleも最後のvであることを確認してください:

#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

注:googleリポジトリでも使用

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.