Android Studio 3.0 Canary 1で新しいKotlinプロジェクトを開始しようとすると、このエラーが表示されます。完全なトレース:
エラー:メソッド「com.Android.build.gradle.internal.variant.BaseVariantData.getOutputs()Ljava/util/List;」が見つかりません。この予期しないエラーの考えられる原因は次のとおりです。
Gradleプロセスが破損している場合は、IDEを閉じてから、すべてのJavaプロセスを強制終了することもできます。
- Gradleの依存関係キャッシュが破損している可能性があります(これは、ネットワーク接続のタイムアウト後に発生することがあります。)依存関係を再ダウンロードし、プロジェクトを同期します(ネットワークが必要です)
- Gradleビルドプロセス(デーモン)の状態が破損している可能性があります。すべてのGradleデーモンを停止すると、この問題が解決する場合があります。 Gradleビルドプロセスを停止する(再起動が必要)
- プロジェクトは、プロジェクト内の他のプラグインまたはプロジェクトから要求されたGradleのバージョンと互換性のないサードパーティのプラグインを使用している可能性があります。
最初の2つのオプションを試しましたが、サードパーティのプラグインはデフォルトのままです。
gradle-wrapper.properties
#Thu May 18 08:36:52 BST 2017
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.0-milestone-1-all.Zip
build.gradle
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
ext.kotlin_version = '1.1.2-3'
repositories {
maven { url 'https://maven.google.com' }
jcenter()
}
dependencies {
classpath 'com.Android.tools.build:gradle:3.0.0-alpha1'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
jcenter()
maven { url 'https://maven.google.com' }
mavenCentral()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
私はこれらの値のいずれにも自分で触れていないので、デフォルトのままにします。 Kotlin以外の新しいプロジェクトを作成しても、この問題は発生しません。
私のbuild.gradle変更
ext.kotlin_version = '1.1.2-3'
に
ext.kotlin_version = '1.1.2-4'
これを修正しました。
最新バージョンを見つけることができます こちら 。
Javaの場合
削除するだけ
classpath 'me.tatarka:gradle-retrolambda:3.7.0'
butterknife
versionを8.4.0
にダウングレードします
classpath 'com.jakewharton:butterknife-gradle-plugin:8.4.0'
削除することを忘れないでください
apply plugin: 'me.tatarka.retrolambda'
アプリレベルのビルドグラドルから。
それは私のために働いた
8.4.0バージョンの使用
classpath 'com.jakewharton:butterknife-gradle-plugin:8.4.0'
Kotlinバージョンを最新に更新します。
ext.kotlin_version = '1.1.2-4' //currently it's the latest version
その後、さらにエラーが発生する可能性があるため、再度同期する前に、buildToolsVersion
が「26.0.2」以上であることを確認してください。
これは 既知の問題 Android Studio Preview 3.0の場合:
このエラーが表示される場合、Android Studio 3.0にある新しいAndroid Gradle用プラグインと互換性のない既存のKotlinプラグインが存在する可能性があります。解決策は、古いKotlinプラグインを削除することです。
プロジェクトレベルの
build.gradle
ファイルを開き、ext.kotlin_version
を見つけます。 1.1.2-4(またはそれ以上)でなければなりません。古いバージョンが表示されている場合は、Android Studio 3.0に含まれているバージョンを妨害しないように、古いKotlinプラグインを削除する必要があります。Windowsでは、次の場所にあります。
C:\Users\user_name\AndroidStudio_version\config\plugins\Kotlin\
Macでは、
~/Library/Application\ Support/AndroidStudio_version/Kotlin/
私の場合、butterknife-gradle-pluginを適用していたために問題が発生しました。 8.8.1にアップグレードしても問題は解決しませんでしたが、削除しても確かに解決しました。
build.gradleはアプリケーションに属しているので、なぜそのプラグインを使用しているのかさえわかりません(私はプロジェクトが初めてです)